async.each(spiders, function(){
console.log('hi');
}, function(err) {
if(err) { console.log(err);}
else console.log('ok');
});
Run Code Online (Sandbox Code Playgroud)
记录'hi'后,async没有执行回调并记录'ok'或错误.
我的代码有什么问题?
Mor*_*rel 13
async
为您的iterator
函数提供了两个重要参数:a item
和a callback
.第一个给出数组中的实际数据项,第二个是函数,以指示实际方法的结束.当每个迭代器调用指示自己的回调时,将调用最终回调(带有日志('ok')的回调).
所以你的代码应该是这样的:
async.each(spiders, function(item, callback) {
console.log('spider: ' + item);
callback(null);
}, function(err) {
if (err) {
return console.log(err);
}
console.log('ok');
});
Run Code Online (Sandbox Code Playgroud)
该null
参数表示没有错误.
另请注意,处理这样的错误是一种更好的做法.
归档时间: |
|
查看次数: |
3396 次 |
最近记录: |