1 回答

TA貢獻1995條經(jīng)驗 獲得超2個贊
promise.all 實現(xiàn)如下:
let result = []; //存放查詢結(jié)果
let doc1 = []; //存放第一次查詢的結(jié)果
model.WithdrawModel.find({status:'processing'}).exec().then((doc) => {
doc1 = doc;
const promises = doc.map(item => model.UserModel.findOne({phone:item.phone},'name IDcard bank bankCard bank_area bank_name'));
return Promise.all(promises);
})
.then((bankInfoList) => {//promise.all返回的結(jié)果是一一對應的
for(let i=0; i<doc1.length; i++){
let obj = {};
Object.assign(obj, JSON.parse(JSON.stringify(doc1[i])), JSON.parse(JSON.stringify(bankInfoList[i])));
result.push(obj);
}
return new Promise((resolve, reject) => {
resolve(result);
})
})
.then((result) => {
return new Promise(() => {
res.json({ code: 0, msg: '查詢成功', result: result});
return;
});
})
.catch((e) => {
console.log(e);
res.json({ code: -1, msg: '查詢失敗'});
return;
});
添加回答
舉報