【发布时间】:2018-05-07 13:47:55
【问题描述】:
我一直在不同的浏览器上测试我的 JS 代码,但它似乎不适用于其中一些浏览器和移动设备。
JS
function req1() {
fetch('https://jsonplaceholder.typicode.com/posts/1')
.then(response => response.json())
.then(json => {
var title = json.title;
var body = json.body;
document.getElementById("newsTitle").innerHTML = title;
document.getElementById("newsContent").innerHTML = body;
document.getElementById("newsContent2").innerHTML = body;
});
}
req1();
通过阅读这个问题,我了解到问题可能与 '=>' 有关,因为它是 ES6 元素,并非所有浏览器都支持它。但正如您在这里看到的,这似乎是获取这些 json 数据的方法:https://jsonplaceholder.typicode.com/
有没有办法避免在这个函数中使用 '=>' 让它在所有浏览器上都能工作?
例如,我在 Safari 9 上遇到的错误:
我尝试了一些解决方案,但现在出现此错误:
帖子还没有打印出来,有什么想法吗?
【问题讨论】:
-
是的,使用普通的
function语法。也就是说,如果有任何浏览器支持fetch()但不支持 ES6 箭头函数。 IDK -
你不能在没有转译器的情况下使用“lambda”。以 Babel 为例
-
如果它不支持箭头函数,为什么错误实际上表明它来自匿名函数?您确定错误与此有关吗?
-
Safari 9 也不支持 Fetch API,所以修复箭头函数只是一个开始。另一方面,Safari 9 已经使用了三年,市场份额为 0.03%,所以我个人并不担心。
-
您使用的是哪个浏览器?
标签: javascript ecmascript-6 safari9