javascript - 有没有办法在 ie9+ 中实现 promise

标签 javascript jquery angularjs internet-explorer promise

我正在尝试在 IE9+ 上实现 native promise ,但 Internet Explorer 似乎无法识别“Promise”类/对象。 我在http://caniuse.com/#search=Promise中搜索并发现 IE 没有 Promise 对象。 但这很奇怪,因为 jQueryAngular 与 Promise 一起工作并且在 IE9+ 中工作。 也许他们正在实现他们自己的 promise ? ** 我可以实现我自己的 promise 吗?**

最佳答案

什么是“ native ”

原生意味着它是在浏览器的代码库中编写的,而不是用户级代码。为了在 IE9 中原生实现 Promise,您必须从 Microsoft 获取 IE9 源代码的副本,对其进行编码、编译和分发。虽然这是可行的,但这并不是一个非常可行的选择。

今天使用 Promise

另一方面,用户级别中存在多个 Promise 库。完全有可能实现您自己的 promise 实现 - here is a great blog post on how .

您可以自由地包含像 这样的库( bluebird ) 或 Q 满足此 API 并将在未来继续与 ES6 Promise 良好配合。值得一提的是,Bluebird 例如在 IE6+ 上运行,因此您的情况应该没有问题。

例如here is Angular's implementation这是 jQuery's implementation - 我认为 Angular 更具可读性。

标准

另请注意,与上面留下的评论相反,Promises 是由 Promises/A+ 规范标准化的,像 Angular 这样的库符合,像 jQuery 这样的库正在努力符合,并且可能会在下一个版本中实现。原生 Promise 也符合该标准并对其进行超集。

关于javascript - 有没有办法在 ie9+ 中实现 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27835687/

相关文章:

javascript - 在 JavaScript 中,是否可以更改对象初始值设定项的构造函数?

javascript - 当 jquery 中的 ajax 调用完成时,如何运行一些代码?

javascript - 如何在单独的js文件中指定 Protractor 页面对象?

javascript - 在输入双击时隐藏透明文本

javascript - XmlHttpRequest 上传在两次使用之间暂停后挂起

javascript - 将对象数据获取到 Angular 中的变量

javascript - 表单提交就像ajax不工作一样

jquery - JQGrid 格式化日期返回错误的日期

angularjs - window.ATL_JQ_PAGE_PROPS 在JQgrid

angularjs - 如何在 Plunker 中使用 uiRouter 通过使用 url 参数来设置 $stateParams?