作者:T糖糖Tsweet_629 | 来源:互联网 | 2022-12-10 06:00
1> Ken Colton..:
.catch()
不能代替普通的try
catch
。
它专门用于处理在承诺解决过程中发生的特殊情况。
在这种情况下,异常(引发拟合)发生在承诺解决流程之外。
您向$http.get
方法提供的无效输入会导致XHR甚至在创建XHR之前就发生异常,这并不是 HTTP请求或任何后续处理出错的原因。
这等效于正在发生的事情:
try {
$http.get(throwAnException())
// .catch isn't even being evaluated!
.catch(function(e) {
console.error(e); // no chance of being called
});
} catch (e) {
// I would be evaluated
console.error(e);
}
function throwAnException() {
throw "An error before we even start";
}