【发布时间】:2020-01-27 13:21:09
【问题描述】:
我需要将此函数转换为与 IE10 一起使用。 我想使用 Babel 将文件从 ES6 转换为 ES5,但我不知道如何正确使用 Babel,因为 Babel 不转换 Promise。 脚本 ES6 是这样的:
....
function readTextFile(file) {
return new Promise(function (resolve, reject) {
let rawFile = new XMLHttpRequest();
rawFile.open("GET", file, false);
rawFile.onreadystatechange = function () {
if (rawFile.readyState === 4) {
if (rawFile.status === 200 || rawFile.status === 0) {
allText = rawFile.responseText;
resolve(allText);
}
}
};
rawFile.send(null);
});
}
.....
非常感谢您的帮助和时间。
【问题讨论】:
-
Promise是一个对象/函数,而不是语法,所以它不会被转译 - 请改用 polyfill -
我在 Babel 中使用了 polyfill,但没有转换。
-
SO 不是免费的编码服务。您需要自己尝试并发布您的努力。
-
我尝试使用 , babeljs.io/docs/en/babel-polyfill ,但似乎不起作用,现在已弃用。
-
如果您在将 Babel 设置到您的 ci 中遇到困难,何不尝试使用 Babel online 粘贴您的代码并选择特定的浏览器或 JavaScript 版本并观看魔术。
标签: javascript ecmascript-6 babeljs internet-explorer-10 ecmascript-5