【发布时间】:2018-04-06 02:12:05
【问题描述】:
我有一段代码适用于除 Internet Explorer 和 Opera 之外的所有浏览器。
这里是代码:JSFiddle
(async () => {
var InternalURL = "https://jsonplaceholder.typicode.com/posts/1";
var ExternalURL = "https://jsonplaceholder.typicode.com/comments";
let image, data = await $.getJSON(InternalURL);
if(data) {
// Some code
} else {
// request failed
}
if(!image) {
let data = await $.getJSON(ExternalURL);
if(data) {
// Some code
} else {
// request failed
}
}
// Some code
})();
在 IE 中指向 (async () => { 行中的语法错误
知道为什么会这样以及如何解决吗?
我注意到它是一个 ES6 代码,是否可以转换一个对旧浏览器友好并且仍然提供相同输出的不同代码?
【问题讨论】:
-
async关键字和arrow function(=>) 是 ES2017+ ... IE 是 1999 年的浏览器 ... 编译器是你唯一的选择 ... Opera 应该支持 => 在版本 32 + 和async版本 42+ -
async support in browsers。你可以使用 babel 编译你的代码来支持旧的浏览器。
-
Opera 现在是基于 Chromium 的,并且大部分都可以像 Chrome 一样工作,是不是很久没有更新了?
标签: javascript jquery internet-explorer asynchronous async-await