【JavaScript】ES5環境でもResolveを使う(Polyfill)

まだまだ根強いIEのシェア。

www.netmarketshare.com

IE11がサポートするJavaScriptの企画は、ECMAScript5 (ES5)まで。 やっとコールバック地獄を抜け出す手段Promiseが提供されたのに、現状使えない。 (クライアントにブラウザこれ使ってね、といってもみんながみんなつかってくれない。。)

(参考) ECMAScript 6 compatibility table

が、PromiseはES5環境で聞くPoliyFillがあるそうだ。

GitHub - stefanpenner/es6-promise: A polyfill for ES6-style Promises

Promiseが実装されているかを見て、 なければ追加で低速だが・・・な実装を施す。

TypeScript向けにd.tsファイルもある。

とりあえず、手持ちのプロジェクトはこれを使おう。