找不到变量:iOS 7 上的承诺

Can't find variable: Promise on iOS 7

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

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

白色其他浏览器没有这个问题,我发现这个 similar question 罗伯特给出了一个解决方案来添加 new Ember.RSVP.Promise 而不是 new Promise.

我的问题是我没有使用 jQuery 并且这使得所有浏览器 return 出现 Ember 未定义的错误,我发现添加 Ember.min.js 解决了这个问题,但是这增加了额外的 129.96 KB 到我的页面,这对我的项目来说一点都不好。

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

您的浏览器根本不支持promises,所以您必须自己提供一个。在javascript中实现promises不是很难,你可以使用已经制作好的代码或者babel。

如果你想实现承诺,你可以使用这个 https://gist.github.com/unscriptable/814052

您需要为本身不支持 promises 的浏览器包含一个 polyfill。这是一个易于使用的轻量级:

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