3 回答

TA貢獻2003條經(jīng)驗 獲得超2個贊
我在下面的代碼中放置了兩個標(biāo)記。我刪除了這個_.forEach功能
mark1:使用普通的for循環(huán)來完成
mark2:這里使用await
//First API call to get [arr]
const results = await getlist();
// ########## mark1 ########## : Use normal for-loop to do it
for (const result of results) {
//Seconday request for each item in [arr]
const record = await item(result.id).fetch();
//Combined doc from original result and secondary call for record
let doc = new DocModel({
item1: result.id,
item2: record.something,
});
// ########## mark2 ########## : use await here
//Save doc
const saveDoc = await doc.save();
}
//Call for all docs
const allItems = await DocModel.find();
//Render all docs
res.render(`aView`, {
recordings: allItems,
});

TA貢獻1796條經(jīng)驗 獲得超4個贊
你不能async await
在里面使用forEach
。相反,您需要使用for...of
循環(huán)。
另一個最佳解決方案是使用Promise.all

TA貢獻1829條經(jīng)驗 獲得超6個贊
Promise.all
await?Promise.all(_.map(results,async?result?=>?{ ???...?existing?code });
添加回答
舉報