找不到变量:iOS 7上的Promise

时间:2017-01-29 14:40:01

标签: javascript ios ember.js promise mobile-safari

iOS 7 Safari报告错误Can't find variable: Promise

new Promise(function(resolve, reject) {
.
.
.

其他白色浏览器没有此问题,我发现这是similar question,其中Robert提供了添加new Ember.RSVP.Promise而不是new Promise的解决方案。

我的问题是我没有使用jQuery,这使得所有浏览器都返回了Ember未定义的错误,我发现添加Ember.min.js可以解决问题,但这会增加额外的{ {1}}我的页面对我的项目一点都不好。

我只是想解决iOS7的问题,如果有人知道他如何告诉我们,我感激不尽。

2 个答案:

答案 0 :(得分:4)

您需要为不支持本机承诺的浏览器添加polyfill。这是一款易于使用的轻量级产品:

https://github.com/taylorhakes/promise-polyfill

答案 1 :(得分:2)

您的浏览器根本不支持承诺,因此您必须自行提供。在javascript中实现promises并不是很难,你可以使用已经编写的代码或babel。

如果您想实施承诺,可以使用此承诺 https://gist.github.com/unscriptable/814052