聞きたいこと
下のような配列内のオブジェクトの値(name
)を、バックエンドから取得した値を元に更新したいと思っています。
// nameは初期値は''です const users = [ { id: 'xxxx', name: '' }, { id: 'yyyy', name: '' }, { id: 'zzzz', name: '' }, ]
そこで下のような処理を書いています。
JavaScript
1: 2 3for (const user of users) { 4 const response = await getUserDetail(user.id) // responseにはキーがid, nameのオブジェクトが入ります。 5 user.name = response.name 6} 7 8: 9 10
処理自体は上で期待通りになっているのですが、Promise.allを使用する方法に置き換えたいと思っています。
そこで下のように置き換えましたが、エラーになってしまっています。
await Promise.all(users.forEach(async (user) => { const response = await getUserDetail(user.id) user.name = response.name })
エラーは下のとおりです。
undefined is not iterable (cannot read property Symbol(Symbol.iterator))
回答1件
あなたの回答
tips
プレビュー