こんにちは。
配列型オブジェクト(下記)に対して指定関数のforEachループ実行を行いました1。
- 配列(array)
- 配列型(array-like)
- 反復可能型(iterable)
[...array_like].forEach(doFunc);
Array.from(array_like).forEach(doFunc);
for (const e of array_like) {doFunc(e)};
await 動作としたい場合
ただしループ内で個々をawait動作としたい場合は下記のようにするとのことです2(forEachは使わずに)。
-
reduce利用 -
for ( of )利用
array_like.reduce(async (p, e) => {
await p || await wait();
doFunc(e);
}, 0);
(async () => {
for (const e of array_like) {
await wait();
doFunc(e);
}
})();
// const wait = () => new Promise(resolve => setTimeout(resolve, 0));
-
\
forEachは配列を対象としますので、そうではない配列型オブジェクトに対しては、array_like.forEach(doFunc)とは書けません。 ↩