Обратный звонок в Node.js - PullRequest
       1

Обратный звонок в Node.js

1 голос
/ 17 августа 2011

Сегодня я тестирую функцию обратного вызова в 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 89 10

Результат должен быть

0

0 до 9 и

1

0 до 9 снова.

Тем не менее, первый обратный вызов не работает весь цикл.это работает только первый цикл.Почему?

1 Ответ

5 голосов
/ 17 августа 2011

Вам необходимо объявить i в функции, в противном случае вы получите глобальную переменную (которую разделяет вложенный вызов и, таким образом, она считается до десяти только один раз):

function callback_test(callback) {
  for(var i=0;i<=10;i++){
      callback(i);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...