JS Array.map メソッドの非同期メソッドは同期的に実行できません

1. JS Array.mapメソッドの非同期メソッドは同期実行できません

質問: ループでリクエストを送信すると、バックグラウンドで 2 つの写真アドレスが返されます。各値を操作するにはマップを使用する必要があり、これには非同期操作が含まれます。
ここに画像の説明を挿入
ここに画像の説明を挿入

オンラインの例 (promise.all を使用): let arr1 = [1,2,3,4,5] let res = await Promise.all(arr.map(async (item) => { await new Promise(resolve=>{ setTimeout(() => { console.log(item + '内结束'); resolve(); }, 2000) }) return 10 })); console.log(res)

ついに実現しました:
ここに画像の説明を挿入
map 関数の原理は次のとおりです。

循环数组,获取每项数组对应的内容,
调用map函数传入的方法,
获取数组的新内容,
将新内容push到新数组,最后返回。
map函数是同步执行的,所以循环每一项时,到给新数组值时,都是同步操作。

おすすめ

転載: blog.csdn.net/weixin_46319117/article/details/116272770