ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript における Deferred、Promise、Future の違いは何ですか?

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-23 20:00:30151ブラウズ

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

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

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

遅延

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

プロミス

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

Futures

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

主な違い

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

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

以上がJavaScript における Deferred、Promise、Future の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。