Promise.all(function(){
for(var numb in req.body){
console.log(numb+":"+req.body[numb]);
checkValue(numb,function(err,result){
if(result){
console.log(result);
send[result]="true";
console.log(send);
}
if(err){console.log(err+"not");}
});
}
}).then(res.json(send));
我想首先执行for循环然后再发送数据。我试图使用promise.all但我不确定它是否正确。有人可以帮帮我吗?
答案 0 :(得分:22)
如果您使用的是Promise,请查看this
您可以通过执行以下操作来解决此问题:
var promises = [];
for(var numb in req.body)
{
promises.push(checkValue(numb));
}
Promise.all(promises)
.then(function(data){ /* do stuff when success */ })
.catch(function(err){ /* error handling */ });
function checkValue(numb){
return new Promise(function(resolve, reject){
// place here your logic
// return resolve([result object]) in case of success
// return reject([error object]) in case of error
});