始めに 配列のPromiseを並列で実行する場合はPromise.allを使うと思いますが、直列で順番に実行するにはどうするか少し悩みました。パッと調べたときにあんまりいい情報が見つからなかったのでまとめてみました。 const waitTimes = [300, 100, 200, 500, 400]; function wait(waitTime: number) { return new Promise((resolve) => { setTimeout(() => { console.log(`${waitTime}ms waited.`); resolve(); }, waitTime); }); } (async () => { // Promise.allで並列に実行される await Promise.all( waitTimes.map(async (waitTime) =