仕様でカバーされていないpromise ライブラリの側面は? 実装間でどのような違いがありますか?
実際の違いの例を示してください (Bluebird と Q など)。
仕様でカバーされていないpromise ライブラリの側面は? 実装間でどのような違いがありますか?
実際の違いの例を示してください (Bluebird と Q など)。
ほとんど全部。Promises/A+ 仕様は、promise の相互運用性を目的としており、promise ライブラリ (および現在はネイティブの promise) が互いに通信できるように構築されています。promise がどのように動作するかを予測し、promise が他のライブラリによってどのように同化されるかを定義できるようにするためのアイデアです。
仕様の引用:
この仕様は、メソッドの動作を詳述し、
then
すべての Promises/A+ 準拠の promise 実装が提供するために依存できる相互運用可能なベースを提供します。そのため、仕様は非常に安定していると考えるべきです。Promises/A+ 組織は、新たに発見されたコーナー ケースに対処するために下位互換性のあるマイナーな変更を加えてこの仕様を改訂することがありますが、慎重な検討、議論、およびテストの後にのみ、大規模または下位互換性のないものを統合します。最後に、中核となる Promises/A+ 仕様は、promise の作成、履行、または拒否の方法を扱っておらず、代わりに相互運用可能な then メソッドの提供に焦点を当てることを選択しています。コンパニオン仕様の将来の作業では、これらの主題に触れる可能性があります。
以下は対象外です。
.all
ます)。たとえば、Bluebird と Q はどちらも完全に Promises/A+ の苦情ですが、これらの多くで異なります。
this
介した値のスコープ バインドが可能です。.bind
.map
.reduce
.filter