はじめに
この実験では、JavaScript を使って一連のプロミスを直列で実行する方法を探ります。Array.prototype.reduce() メソッドを使ってプロミスチェーンを作成し、各プロミスは解決したときに次のプロミスを返します。この実験が終わるとき、あなたはプロミスを順次実行する方法をより深く理解しており、プログラミングスキルが向上します。
直列でプロミスを実行する
直列で一連のプロミスを実行するには、Array.prototype.reduce() を使ってプロミスチェーンを作成します。各プロミスは解決した後、次のプロミスを返します。
まず、ターミナル/SSH を開き、コーディングを練習するために node と入力します。
以下はコードの例です。
const runPromisesInSeries = (ps) =>
ps.reduce((p, next) => p.then(next), Promise.resolve());
次に、runPromisesInSeries 関数を使ってプロミスを順次実行できます。以下の例を参照してください。
const delay = (d) => new Promise((r) => setTimeout(r, d));
runPromisesInSeries([() => delay(1000), () => delay(2000)]);
// このコードは各プロミスを順次実行し、合計 3 秒かけて完了します。
まとめ
おめでとうございます!あなたは「直列でプロミスを実行する」実験を完了しました。あなたのスキルを向上させるために、LabEx でさらに多くの実験を練習できます。