亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 forEach 循環中調用服務并在繼續之前等待它完成

在 forEach 循環中調用服務并在繼續之前等待它完成

呼喚遠方 2021-09-17 10:22:05
我想在執行下一個代碼塊之前獲取嵌套在 forEach 循環中的服務調用的結果我試過使用一個普通的 for 循環,它有效......但 ESLINT 抱怨它......那么理想的解決方案是什么?const people = []const fetchPeople = async () => {  peopleIds.forEach(personId => {    people.push(restApi.getPersonById(personId))  })}await fetchPeople()logger.error(`people should be populated : ${JSON.stringify(people)}`)我希望在 forEach 結束時填充人員,以便我可以在下一個函數中使用結果。
查看完整描述

1 回答

?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

最簡單的方法是使用 Promise.all() 和 array.map()


const people = await Promise.all(peopleIds.map(restApi.getPersonById));

logger.error(`people should be populated : ${JSON.stringify(people)}`)

Array.map() 將為每個 id 創建一個 promise,Promise.all 將等待所有這些并輸出它們的異步返回值數組。


查看完整回答
反對 回復 2021-09-17
  • 1 回答
  • 0 關注
  • 245 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號