gpt4 book ai didi

javascript - 如何支持 Internet Explorer 11 中的 promise ?

转载 作者:IT王子 更新时间:2023-10-29 02:59:45 25 4
gpt4 key购买 nike

我有一个简单的代码,可以在除 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 中运行(它根本不支持大部分 ES6),那么你需要获得一个第三方 promise 库(如 Bluebird ),包括该库并更改你的编码使用 ES5 编码结构(没有箭头函数,没有 let 等...)这样您就可以在旧浏览器支持的范围内生活。

或者,您可以使用转译器(如 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>

关于javascript - 如何支持 Internet Explorer 11 中的 promise ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36016327/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com