Node.js中的回调

sat*_*god 1 callback 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);
    });

});
Run Code Online (Sandbox Code Playgroud)

输出是

0 0 1 2 3 4 5 6 7 8 9 10

结果应该是

0

0到9和

1

再次0到9.

但是,第一次回调并不是全部循环.它只是第一次循环.为什么?

Thi*_*ilo 5

您需要i在函数中声明,否则您将获得一个全局变量(嵌套调用共享,因此它最多只计数十次):

function callback_test(callback) {
  for(var i=0;i<=10;i++){
      callback(i);
  }
}
Run Code Online (Sandbox Code Playgroud)