【发布时间】:2021-07-17 14:07:57
【问题描述】:
这里是 Promise 的新手。
documentation(如下图所示)告诉它在内部调用 catch 块本身的 onRejected 函数。那么如果两个函数都提供了,那么在 Promise 中使用 catch 块有什么用处?
我尝试在 then 块中使用 throw 'error' 甚至 Promise.reject('error') 引发错误,但都没有触发 catch 块。
这是示例代码。
actionPromise = Promise.reject('error') // or throw 'Error'
actionPromise
.then(
(response) => next({ ...rest, response, type: SUCCESS }),
(error) => next({ ...rest, error, type: FAILURE }) // <--- Gets triggered
)
.catch((error) => {
console.error('MIDDLEWARE ERROR:', error); // <--- Not getting triggered
next({ ...rest, error, type: FAILURE });
});
【问题讨论】:
标签: javascript promise