JSのpushを同じ配列に対し、非同期かつ同タイミングで行った場合の挙動について

前提

次のコードについて、JSの仕様的なところが知りたいです。

私の知識では、非同期で同配列に対しpushを行うと、同タイミングでpushされた分、想定より、少ないサイズになると予測していましたが、
実際は、100*100の10000になります。これは何度実行しても同じでした。

非同期で、同タイミングでpushを行っても、それらのpushは干渉せず、必ず配列に挿入されるのか?という点が知りたいです。

該当のソースコード

const ary = []; for (let i=0;i<100;i++) { ary.push(1); } const test = []; await Promise.all( ary.map((item) => { fetch(~略~).then((data) => { for (let i=0;i<100;i++) { test.push(i); } }) }) ) console.log(test)

コメントを投稿

0 コメント