IE11 Promise对象未定义错误--解决方法


在没有原生Promise支持的浏览器下(如IE),使用Promise会抛出未定义的错误异常。

解决方法:

(1)非node项目(了解polyfill):

可引入 或

(2)node项目:

正常来讲 有babel的项目是可以使用Promise的,但是如果webpack异步加载时,要求原生支持Promise,webpack生成的new Promise相关代码,超出babel的transform-runtime的控制范围,只有导出全局Promise才能解决

<1>引入babel-polyfill导出全局Promise(这种方法不带会导出Promise,还会导出其他大量全局对象,可能会有冲突,且文件体积比较大)

<2>在js文件开头添加window.Promise = Promise; 语句来导出全局Promise

原文参考:http://www.php.cn/js-tutorial-380204.html