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 作用域。