我正在访问JSON文件并做一些事情。如果ajax调用失败,则.fail()
可以捕获该错误,但是当我在.done()
内抛出错误时,该错误不会被捕获。
function myFunc() {
$.getJSON('data.json')
.done(db => {
/* do stuff with JSON */
if (condition) {
throw Error(message);
}
})
.fail(error => {
throw Error("getJSON request failed.\n" + error);
})
}
try {
myFunc();
} catch (e) {
/* handle error */
}
我了解这是因为该函数是异步的。如何确保捕获到此错误,并且myFunch()在结束try-catch块之前完成执行?