我有一个错误处理代码,它工作得很好,但在控制台中显示那些红色错误。我尝试了.catch()函数,但它不起作用,错误仍然显示,.catch()中的代码也不运行
下面是工作代码:
function getData(key) {
fetch(key)
.then(res => {
if (res.ok === false) {
res.json()
.then(e => {
alert(e.message)
})
}
else {
res.json()
}
})
.then(json => {
data = json;
})
}
我只是试图向用户显示错误消息,而不显示那些控制台错误。
1条答案
按热度按时间zpgglvta1#
您可以按如下方式调整代码,以捕获失败并显示错误消息,而不是在控制台中显示红色错误:
这里使用**alert()显示错误通知,并启动.catch()块后,从inner.then()块返回res.json()**promise。这样,问题就会被发现,用户会得到错误消息,而控制台不会显示红色错误。