我正在用javascript解析JSON文件。 JSON每5分钟用新数据自动更新一次,在更新期间JSON为空白(大约2秒钟)。
我收到此错误
未捕获(承诺)SyntaxError:JSON输入意外结束 在fetch.then.res
这是javascript中解析JSON的代码:
fetch("http://location/file/data.json")
.then(res => res.json())
.then(data => {
//do something
})
我该如何控制它以便不标记此错误?我仍然希望使用console.log(Error())
出现客户错误。
感谢您的帮助。
答案 0 :(得分:2)
这应该可以解决问题。 then()
使用第二个回调函数作为接收错误对象的参数。
fetch("http://location/file/data.json")
.then(res => res.json(), err => console.log(err))
.then(data => {
//do something
}, err => console.log(err))
编辑:根据评论,首选这种方式。可以在此link
中阅读有关使用承诺的更多信息fetch("http://location/file/data.json")
.then(res => res.json())
.then(data => {
//do something
})
.catch(err => console.log(err)
答案 1 :(得分:2)
您可以在处理中添加.catch
:
fetch("http://location/file/data.json")
.then(res => res.json())
.then(data => {
// do something
})
.catch(err => console.log(err.message))
编辑:err.message
,而不是JSON.stringify(err)
。