非同期関数のチェーン化

Beginner

This tutorial is from open-source community. Access the source code

はじめに

この実験では、JavaScript において非同期関数をチェーン化する方法を探ります。非同期イベントを含む関数の配列をループし、各イベントが完了したときに next 関数を呼び出す方法を学びます。実験が終了すると、特定の順序で一連の非同期操作を効率的に実行できるようになります。

非同期関数のチェーン化

非同期関数をチェーン化するには、ターミナル/SSH を開いて node と入力します。次に、非同期イベントを含む関数の配列をループし、各非同期イベントが完了したときに next 関数を呼び出します。

非同期関数をチェーン化する方法を示すコード スニペットは次のとおりです。

const chainAsync = (fns) => {
  let curr = 0;
  const last = fns[fns.length - 1];
  const next = () => {
    const fn = fns[curr++];
    fn === last ? fn() : fn(next);
  };
  next();
};

chainAsync([
  (next) => {
    console.log("0 seconds");
    setTimeout(next, 1000);
  },
  (next) => {
    console.log("1 second");
    setTimeout(next, 1000);
  },
  () => {
    console.log("2 second");
  }
]);

まとめ

おめでとうございます!あなたは非同期関数のチェーン化の実験を完了しました。あなたの技術を向上させるために、LabEx でさらに実験を行って練習することができます。