setTimeout()
で処理を停止することができますが、ループ内でそのまま突っ込んでもほぼ同時に実行します。
array.forEach((value, index) => {
setTimeout(() => {
console.log('5秒ごとに実行')
}, 5000);
});
これだとforEach()
が一気に回る -> 全てのコードを5秒後に実行するだけです。
index 番号を使う
forEach()
のコールバックの第二引数はループしている要素のインデックス番号が渡されるので、その分をsetTimeout()
の第二引数に掛け合わせれば、0秒、5秒、10秒…後に実行されます。
array.forEach((value, index) => {
setTimeout(() => {
console.log('5秒ごとに実行')
}, 5000 * index);
});