async 中的whilst问题
发布于 10 年前 作者 kingzez 7733 次预览 最后一次回复是 10 年前 来自 问答
没有循环,只是按顺序走了一边,直接输出了,我想知道错在哪里,请帮我看一下,谢谢
var async =require('async'),
count = 0;
list = [{name:'jack',age:20}, {name:'Lucy',age:18}];
async.whilst(
function () {return count < list.length;},
function (callback) {
console.log(count);
callback(list[count].age += 1);
count ++;
},
function(err){
console.log(err);
}
);
console.log(list);
console.log(count);
8 回复
callback 第一参数是error?, 你看最后打印error的地方是不是你在callback传的值, whilst是不是一callback就结束的? 你再看看文档.
@wewea 打印出来是没有错误的,这是结果
楼主琢磨琢磨,看这是不是你想要的结果
count++的位置放到callback上一行
callback(list[count].age += 1); 这个回调传了 最后一个function function(err){ console.log(err); } 这个err 就是 list[count].age += 1 所以你会打印出 21
@blackjack 谢谢 已经解决了
@dayuoba thanks 受教了 :)