2016-07-17 13 views
5

JSの約束がes5の一部であったかどうか知りたいですか?もしそうなら、古いブラウザでは動作しないことがあり、同じものにpolyfillを追加する必要があります。また、その場合はどのpolyfillを追加すべきですか?es5 oneまたはes6?私は同じことについて少し混乱している。ES5 vs ES6約束

+0

ES5には約束がありませんでした。 jQueryやAngularのようなライブラリには、独自の約束の実装がありました。 – jfriend00

+0

ES5には、言語の一部として約束がありません。 ES5にとって、約束は単なるデザインパターンです。 ES5には、さまざまな種類の約束を実装するライブラリが数多くあります。単なるデザインパターンなので、自分で実装することもできます。 – slebetman

+0

@slebetman約束履行のための簡単な例を私に提供できますか? –

答えて

19

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

普及しているES5で使用する実装は、Bluebird(ES6標準と互換性があります)とQ(当初はES6標準と互換性がありませんでしたが、その方向を変えているようです)とRSVPです。

実際のポリフィルは、ネイティブな約束事が存在する場合には追加の機能を追加するため、途切れることはありません。

ES6の約束のためのいくつかの純粋なポリフィルがあります。ここには、RSVPのサブセットであるhttps://github.com/stefanpenner/es6-promiseがあります。

あなたはここで読むことができますようポリフィル以上のものを使用する理由があります:私はそれについてはコメントしないように、特定のポリフィルライブラリの勧告を尋ねるAre there still reasons to use promise libraries like Q or BlueBird now that we have ES6 promises?

は、スタックオーバーフローの上に、ここでオフトピックと考えられています。

+0

@ jfriend00私はこのコードを見つけましたhttp://codepen.io/tijmenbruggeman/pen/LVOqBqそれは誤解ですか? –

+1

@ParamSingh - このコードセットは、ここで何をする必要がありますか? – jfriend00

+0

@KirillSlatin - 私はむしろ "カスタムと非標準"に変更しました。しかし、私はむしろ意味のあるコンテンツにエネルギーを費やしたいと思っていました。 – jfriend00

関連する問題