node.js 有一个批量异步处理,在 bluebird settle 执行完还需要使用 id 咋办,请问如何获取?
var queries = array.map(function(id){
return User.schema.find({user_id: id}).execAsync();
});
return Promise.settle(queries).then(function(results){
results.forEach(function(result){
if(result.isFulfilled()){
//这里如何使用 map 遍历时的 id ?
}else if(result.isRejected()){
error(result.reason());
}
});
});
settle 是异步执行在外面定义一个变量临时存储 id 好像不行吧,如果是闭包倒是可以在每个异步执行完获取 id ,因为在同一个 function 作用域。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.