Node.js 中的回调
今天我正在node.js中测试回调函数
我的代码是
function callback_test(callback) {
for(i=0;i<=10;i++){
callback(i);
}
}
callback_test(function(result) {
console.log(result);
callback_test(function(result2){
console.log(result2);
});
});
输出是
0 0 1 2 3 4 5 6 7 8 9 10
结果应该是
0
0 到 9,
然后又是1
0 到 9。
但是,第一个回调不适用于所有循环。它只在第一个循环中工作。为什么 ?
Today I am testing callback function in node.js
My code is
function callback_test(callback) {
for(i=0;i<=10;i++){
callback(i);
}
}
callback_test(function(result) {
console.log(result);
callback_test(function(result2){
console.log(result2);
});
});
The output is
0
0
1
2
3
4
5
6
7
8
9
10
The result should be
0
0 to 9 and
1
0 to 9 again.
However, first callback is not working all loop. it's only working first loop. Why ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要在函数中声明
i
,否则您将获得一个全局变量(嵌套调用共享该变量,因此仅一次计数到 10):You need to declare
i
in the function, otherwise you get a global variable (which the nested invocation shares and thus it gets counted up to ten only once):