問題一覧に戻る
中級async
問題100: async/awaitループ
ループ内での非同期処理の順次実行を学びましょう。for...ofループ内でawaitを使用すると、各非同期処理を順番に実行できます。これは、前の処理が完了してから次の処理を開始したい場合や、順序が重要なデータ処理で役立ちます。例えば、複数のファイルを順番に処理したり、APIコールの結果を基に次のコールを行う場合に使用します。ただし、並列処理が可能な場合はPromise.allを使う方がパフォーマンスが良いことに注意しましょう。
const delay = (ms, value) => new Promise(resolve =>
setTimeout(() => resolve(value), ms)
);
async function processItems(items) {
(const item of items) {
const result = delay(100, item * 2);
console.log(`${item} → ${result}`);
}
}
processItems([1, 2, 3]);