【发布时间】:2017-03-31 15:53:04
【问题描述】:
我的程序需要运行许多异步任务。
当所有异步任务完成时,必须运行一项任务。
如何让这个函数等待所有异步函数?
let urls=[....]
for(var i=0; i<urls.length; i++){
doRequest(urls[i])
}
finish()
function doRequest(url){
request({
uri: url,
}, function(error, response, body) {
//do some tasks
});
}
function finish(){
console.log('finish')
}
【问题讨论】:
-
^ 与 Bluebirds Promisifyall 一起很好地用于不返回承诺的 nodeback api。
-
将
i与doRequest一起传递给length,并比较每个回调。 -
您可以查看 async.waterfall,尽管根据您的需要有一些可供选择:informit.com/articles/article.aspx?p=2265406&seqNum=2
标签: javascript node.js asynchronous