下面的代码捕获错误,但是在控制台中显示红色标记仍然是404错误,是它的工作方式还是只显示catch块的日志信息?
还是处理异常的其他更好方法?
async function showList(req, err) {
try {
const response = await fetch('http://jsonplaceholder.typicode.com/poosts') // 'posts' to get work the url
if (!response.ok) {
throw new Error(response.statusText);
}
const data = await response.json()
for (let i = 0; i < data.length; i++) {
const divInject = `
<div>
<h3>${data[i].title}</h3>
<div>${data[i].body}</div>
</div>
`;
const divInside = document.getElementById('append')
divInside.insertAdjacentHTML('afterbegin', divInject)
}
}
catch (err) {
console.log(err);
}
};
showList();
答案 0 :(得分:2)
但仍有404错误,控制台中显示红色标记
是的,这就是它的工作原理。无论您是否处理404,它都会在“网络”选项卡中以及(在某些浏览器上)控制台(与您自己的console.log
分开)进行报告。您成功捕获了异常。如果您不是,那么还会在控制台中发出未处理承诺拒绝的警告。