2016-03-15 123 views
0

我想在ES6 JavaScript中执行以下操作,但找不到正确的语法。第二。那么()效果很好,但第一个,它应该抛出一个错误不会(第一部分包含标准的JS语法)在ES6中写入箭头函数的正确方法

return fetch('/api/data.json', { 
     credentials: 'same-origin' 
    }).then(function(response) { 
     if (!response.ok) { 
     throw Error(response.statusText); 
     } 
     return response; 
     }) 
     .then(response => response.json()) 
     ................ 
+0

你能提供一个小提琴? – Aides

+0

为什么这两个神庙? – Jai

+0

如何引入箭头影响你所看到的行为?你发布的代码看起来很好。除非你想要抛出一个错误 - 因为它不会,所以你需要在末尾添加一个'.catch'来捕获错误 – CodingIntrigue

回答

2

没有“神奇” :)它

.then(response => { 
    if (!response.ok) { 
     throw Error(response.statusText); 
    } 
    return response; 
    }) 
+0

不错,谢谢!我想我在尝试时必须在我的代码中有一个错字:) – Kokesh

0

您可以先.then()做到这一点:

.then(response => !response.ok ? throw Error() : response) 
+2

这是无效的JavsScript。 “扔”是一种陈述,而不是一种表达。 –

相关问题