找不到变量:iOS 7 上的 Promise
Posted
技术标签:
【中文标题】找不到变量:iOS 7 上的 Promise【英文标题】:Can't find variable: Promise on iOS 7 【发布时间】:2017-01-29 14:40:00 【问题描述】:ios 7 Safari 报错Can't find variable: Promise
:
new Promise(function(resolve, reject)
.
.
.
白色其他浏览器没有这个问题,我发现了这个similar question,罗伯特给出了一个解决方案,添加new Ember.RSVP.Promise
而不是new Promise
。
我的问题是我没有使用 jQuery,这使得所有浏览器都返回一个错误,即 Ember
未定义,我发现添加 Ember.min.js
解决了这个问题,但这增加了额外的 129.96 KB
到我的对我的项目来说根本不适合的页面。
我只是想解决 iOS7 的问题,如果知道他如何告诉我们的人,我将不胜感激。
【问题讨论】:
【参考方案1】:对于原生不支持 Promise 的浏览器,您需要包含一个 polyfill。这是一个易于使用的轻量级:
https://github.com/taylorhakes/promise-polyfill
【讨论】:
太棒了!这对帕特里克很有用,非常感谢你在这方面的帮助。 很高兴听到这个消息! ☺️【参考方案2】:您的浏览器根本不支持 Promise,因此您必须自己提供一个。在javascript中实现promise并不难,你可以使用已经制作的代码或babel。
如果你想实现promise,你可以使用这个 https://gist.github.com/unscriptable/814052
【讨论】:
感谢 Tomir 的回复,在我的 header 中包含提到的脚本后,我的 promise 函数不再起作用,no errors
,除了包含文件,我是否应该做任何修改?以上是关于找不到变量:iOS 7 上的 Promise的主要内容,如果未能解决你的问题,请参考以下文章
参考错误:找不到变量:ChildBrowser、Cordova 1.7.0、jQueryMobile 1.0.1、iOS 5.1