【发布时间】:2019-09-08 03:38:14
【问题描述】:
我在承诺的.then 块上有一个错字,承诺一直失败。我想我没有意识到是否有一种类型会转到.catch。花了很多时间才发现这是错误(一直假设它是 promise/async/etc 调用有问题。)
有没有办法让 JS 告诉我“嘿,你的 .then 块中有错误!”
代码
searchAPI(name)
.then(data => {
// typo was LowerCase instead of toLowerCase
let filtereddowndata = data
.filter(item =>
item.title.toLowerCase().includes(name.LowerCase())
)
etc etc
})
.catch(function() {
console.log("no match found"); // kept going here.
});
【问题讨论】:
-
在 catch 回调中记录错误?
-
关于您的问题,我似乎记得几乎不可能自动处理传递给
then的回调引发的所有错误,而不是通过catch函数传递回调。换句话说,传递给then函数的回调抛出的异常不会导致error类型的事件被调度。当然,后者是由 HTML 5 指定的,而不是 ECMAScript,我目前找不到任何确认或拒绝 ECMAScript 以任何方式处理这个问题。
标签: javascript promise