web-dev-qa-db-ja.com

ES5とES6の約束

JSの約束がes5の一部であったかどうか知りたいですか?もしそうなら、なぜ古いブラウザでは時々機能しないのか、同じためにポリフィルを追加する必要があります。また、その場合、es5 oneまたはes6のどのポリフィルを追加する必要がありますか?同じことに関して少し混乱しています。

17
Param Singh

ES5には約束がありませんでした。 jQueryやAngularなどのライブラリには、独自のカスタムおよび非標準のpromise実装がありました。

ES5で使用するための一般的なPromise実装は、Bluebird(ES6標準と互換性があります)およびQ(元々ES6標準と互換性がありませんでしたが、その方向を変えているようです)とRSVPです。

ネイティブプロミスが追加機能を追加するため存在する場合、邪魔にならないという点で、実際のポリフィルもありません。

ES6 Promise用の純粋なポリフィルがいくつかあります。 RSVPのサブセットであるものは次のとおりです。 https://github.com/stefanpenner/es6-promise

ここで読むことができるように、ポリフィル以上のものを使用する理由があります: ES6の約束がある今、QやBlueBirdのような約束ライブラリを使用する理由はまだありますか?

特定のポリフィルライブラリの推奨事項を求めることは、スタックオーバーフローに関するトピックから外れていると考えられるため、コメントしません。

36
jfriend00