Я использую async.js сделать следующее:Как абстрагировать функцию как параметр в JS?
var async = require('async');
var i = 0;
var continueWhilst = true;
async.whilst(
function test() { return continueWhilst; },
function doThisEveryTime(next) {
i++;
if (i===5) {
continueWhilst = false;
}
console.log(i);
next();
},
function (err) {
// Done
}
);
выше работал. This is the documentation for async.whilst.
Теперь я хотел абстрагироваться от функции doThisEveryTime
, поэтому код очень читаем. Я пробовал сделать это:
var i = 0;
var continueWhilst = true;
async.whilst(
function test() { return continueWhilst; },
doThisEveryTime2(next),
function (err) {
// Done
}
);
function doThisEveryTime2(next) {
i++;
if (i===5) {
continueWhilst = false;
}
console.log(i);
next();
}
Но это не сработало. Сообщение об ошибке выглядит следующим образом:
doThisEveryTime2(next),
^
ReferenceError: next is not defined
Как это сделать правильно?