在Node.js中callback

今天我正在testingnode.js中的callback函数

我的代码是

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。

但是,第一个callback是不工作的所有循环。 这只是第一个循环。 为什么?

你需要在函数中声明i ,否则你得到一个全局variables(嵌套的调用共享,因此它只能计数到一次):

 function callback_test(callback) { for(var i=0;i<=10;i++){ callback(i); } }