javascript - 为什么 fetch().json() 错误不会触发 window.onerror?
问题描述
下面的代码不会触发 window.onerror,尽管 json() 失败,因为端点没有返回有效的 json,并且没有人捕捉到错误,那么为什么不调用 window.onerror?jsfiddle:https ://jsfiddle.net/f287sn05/
代码:
window.onerror=function(error){
alert("errorhandler 1: "+error);
}
if(1){
window.addEventListener("error",function(error){
alert("errorhandler 2: "+error);
});
}
(async function(){
let foo= ((await ( await fetch("/no_json_plz_i_want_an_error")).json()));
})();
解决方案
要捕获异步函数中的错误,您可以使用 try catch 块,检查一下:
(async function(){
try{
let foo= ((await ( await fetch("/no_json_plz_i_want_an_error")).json()));
}
catch(error){
console.log(error)
}
})();
推荐阅读
- c++ - 传递给 pthread 的参数更改
- css - Jinjia2中,如何使用html样式的变量值?
- pygame - 教程中的过时代码。想不通
- kubernetes - 如何向通过 helm 安装的 nginx-ingress 添加静态 IP
- reactjs - 为什么我的反应 js 按钮单击事件不起作用
- tensorflow - Tensorflow/Keras,如何将 tf.feature_column 转换为输入张量?
- php - 单引号/双引号的“Preg_Replace”函数问题
- maven - 如果父 pom 有一些变化,构建子模块而不构建父模块
- go - neo4j 驱动程序中的螺栓错误
- ios - 在没有物理设备的情况下构建 iOS 应用程序包(ipa)