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

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

解决方法:

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

可引入<script src = "https://cdn.polyfill.io/v2/polyfill.min.js"></script> 或 <script type="text/javascript" src = "https://cdn.polyfill.io/v2/polyfill.min.js?features=es6"></script>

(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

转载于:https://www.cnblogs.com/Aoobruce/p/9322928.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值