How to support promises in Internet Explorer 11?(如何支持Internet Explorer11中的承诺?)
本文介绍了如何支持Internet Explorer11中的承诺?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个简单的代码,可以在除Internet Explorer 11以外的所有浏览器上完美运行。如何使其在所有浏览器上都能运行?
Codepen
'use strict';
let promise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve("result");
}, 1000);
});
promise
.then(
result => {
alert("Fulfilled: " + result);
},
error => {
alert("Rejected: " + error);
}
);
如果您希望这种类型的代码在IE11中运行(它根本不支持推荐答案的大部分内容),那么您需要获得一个第三方Promise库(如),包括该库,并将您的代码更改为使用ES5编码结构(无箭头函数,无[2-0]等.)因此,您可以在旧浏览器支持的范围内生活。
或者,您可以使用转换程序(如Babel)将ES6代码转换为可以在旧浏览器中运行的ES5代码。
以下是使用Bluebird Promise库使用ES5语法编写的代码版本:
<script src="https://cdnjs.cloudflare.com/ajax/libs/bluebird/3.3.4/bluebird.min.js"></script>
<script>
'use strict';
var promise = new Promise(function(resolve) {
setTimeout(function() {
resolve("result");
}, 1000);
});
promise.then(function(result) {
alert("Fulfilled: " + result);
}, function(error) {
alert("Rejected: " + error);
});
</script>
这篇关于如何支持Internet Explorer11中的承诺?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何支持Internet Explorer11中的承诺?
基础教程推荐
猜你喜欢
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01
- 动态更新多个选择框 2022-01-01
- 响应更改 div 大小保持纵横比 2022-01-01
- 我什么时候应该在导入时使用方括号 2022-01-01
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- 悬停时滑动输入并停留几秒钟 2022-01-01
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01
- 在for循环中使用setTimeout 2022-01-01