is there a way to implement promises in ie9+ is there a way to implement promises in ie9+ angularjs angularjs

is there a way to implement promises in ie9+


What's "native"

Being native means that it is written inside the browser's code base and not in user-level code. In order to implement promises natively in IE9 you'd have to obtain a copy of the IE9 source code from Microsoft, code those in, compile and distribute it. While that's doable that's not a very viable option.

Using promises today

On the other hand - there are several promise libraries that exist in userlevel. It's perfectly possible to implement your own promise implementation - here is a great blog post on how.

You can freely include a library like (bluebird) or Q that fulfill this API and will continue working well with ES6 promises in the future. It is worth mentioning that Bluebird for instance runs on IE6+ so there should be no issues in your case.

For example here is Angular's implementation and here is jQuery's implementation - Angular's is more readable in my opinion.

The standard

Also note that contrary to the coment left above promises are standardized by the Promises/A+ specification with libraries like Angular conform to and libraries like jQuery are working on conforming to and likely will in the next version. Native promises also conform to the standard and superset it.


Here's a promise implementation I wrote myself in typescript, and is tested to fully work from IE8 upwards. Yes. it's fully Promises/A+ conformant (and tested).

Since it's written in typescript, the plan is to also get the definition up for tsd in the following days.