「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > JavaScript における Deferred、Promise、Future の違いは何ですか?

JavaScript における Deferred、Promise、Future の違いは何ですか?

2024 年 11 月 12 日に公開
ブラウズ:251

What\'s the Distinction Between Deferreds, Promises, and Futures in JavaScript?

JavaScript における deferred、promise、future の違い

JavaScript では、非同期操作を処理するために deferred、promise、future がよく使用されます。 。これらの概念にはそれぞれ独自の一連の特性があります。

Deferreds

正式な文書では明確に定義されていません。遅延は通常、Promise 解決のアービターとして使用され、実装されます。解決関数と拒否関数の両方。また、プロミスとして実装して、 then 関数を使用できるようにすることもできます。

Promises

Promises は、このコンテキストにおいて最も包括的な概念を表します。これらは非同期操作の結果をカプセル化し、別のターゲット関数を受け入れる then 関数を公開します。 Promises/A 仕様は、Promises/A 仕様のあいまいさを解決し、Promise がどのように動作するかに関する基準を設定します。

Futures

現在の議論ではあまり使用されていない用語、フューチャーは、then 機能を提供せずに同期性とエラー処理を抽象化するプロキシ オブジェクトを指します。たとえば、FutureJS では、このような目的でこの用語を一般的に使用しています。

主な違い

  • 解決の責任: 遅延は解決する責任があります。 Promise.
  • Thenability: Promise は常に then を実装します。
  • 共通性: 遅延は実装でよく使用されますが、先物はあまり普及していません。約束は最も広く使用されている概念です。

要約すると、これらの用語は同じ意味で使用されることもありますが、それぞれに異なる特徴があります。 Deferred は Promise 解決の背後にある原動力であり、Promise は非同期操作の全体的な戦略を表し、Future は同期性を抽象化するためのあまり一般的ではない用語です。

リリースステートメント この記事は次の場所に転載されています: 1729669172 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3