我想使用async.whilst函数,并且可能在我仅获得输出的第一个console.log时丢失了一些东西。
// app.js文件
var async = require('async');
var count = 0;
async.whilst(
function () {
console.log('first')
return count < 5;
},
function (callback) {
count++;
console.log('second')
callback()
},
function (err) {
console.log('third')
}
);
//运行脚本
$ node app.js
first
$
答案 0 :(得分:1)
看看the documentation:第一个函数还需要回调
var async = require('async');
var count = 0;
async.whilst(
function (callback) {
console.log('first')
return callback(null, count < 5);
},
function (callback) {
count++;
console.log('second')
callback()
},
function (err) {
console.log('third')
}
);
答案 1 :(得分:1)
您应该在第一个函数中使用callback
,在调用async
时,callback
会调用后续函数。您的代码应该是
async.whilst(
function (cb) {
console.log('first')
cb(null,count < 5);
},
function (callback) {
count++;
console.log('second')
callback()
},
function (err) {
console.log('third')
}
);