【发布时间】:2017-05-24 20:31:48
【问题描述】:
我正在尝试在对象数组上运行异步循环async.each。
在数组中的每个对象上,我试图按顺序运行两个函数(使用promises)。问题是async.each 只针对第一个关键字运行。
在下面的代码中,getKeywords 从文件中加载一些关键字,然后返回一个关键字对象数组。每个关键字对象都放入进行搜索的searchKeyword。然后使用InsertSearchResults 将搜索结果放入数据库中。
在我看来,每个关键字都应该并行处理,并且搜索和插入功能是联系在一起的。
getKeywords(keys).then(function(keywords) {
async.each(keywords, function(keywordObject, callback) {
searchKeyword(keywordObject).then(function(searchResults) {
return insertSearchResults(searchResults, db, collections);
}).then(function(result) {
console.log("here");
callback();
})
})
})
【问题讨论】:
-
您可以尝试调用捕获
err的可选回调吗?
标签: javascript node.js asynchronous async.js