gpt4 book ai didi

javascript - try..catch 没有捕捉到异步/等待错误

转载 作者:可可西里 更新时间:2023-11-01 01:46:23 24 4
gpt4 key购买 nike

也许我误解了像这样的文章 https://jakearchibald.com/2014/es7-async-functions/还有这个http://pouchdb.com/2015/03/05/taming-the-async-beast-with-es7.html ,但我的 catch block 没有捕获 400/500。

async () => {
let response
try {
let response = await fetch('not-a-real-url')
}
catch (err) {
// not jumping in here.
console.log(err)
}
}()

example on codepen if it helps

最佳答案

400/500 不是错误,而是响应。只有在出现网络问题时,您才会收到异常(拒绝)。

当服务器应答时,你必须检查它是否是good与否:

try {
let response = await fetch('not-a-real-url')
if (!response.ok) // or check for response.status
throw new Error(response.statusText);
let body = await response.text(); // or .json() or whatever
// process body
} catch (err) {
console.log(err)
}

关于javascript - try..catch 没有捕捉到异步/等待错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33355033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com