无法findvariables:iOS 7上的承诺

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

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

白色的其他浏览器没有这个问题,我发现这个类似的问题 ,罗伯特给了一个解决scheme,添加new Ember.RSVP.Promise而不是new Promise

我的问题是,我没有使用jQuery,并使所有的浏览器返回一个错误,没有定义Ember ,我发现添加Ember.min.js解决了这个问题,但是这增加了额外的129.96 KB到我的网页对我的项目好。

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

您需要为不支持原生承诺的浏览器添加polyfill。 这是一个易于使用的重量轻:

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

您的浏览器根本不支持承诺,所以您必须自行提供。 在javascript中实现promise不是很困难,你可以使用已经做好的代码或者babel。

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