如何判断Promise是否具有错误处理程序

时间:2018-12-20 00:17:20

标签: javascript promise es6-promise

是否可以在new Promise((resolve, reject) => { //here })块中判断一个promise是否具有catch处理程序(或更常见的是,对于.then(..., errorHandler)子句来说是错误处理程序)?

我想打印一条错误消息,以防万一没有兑现诺言,否则不这样做。

1 个答案:

答案 0 :(得分:0)

您可能无法签入Promise范围,但是您可以在浏览器中添加用于未处理拒绝的侦听器。如果有未兑现的承诺,将发出一个事件。

浏览器

window.addEventListener('unhandledrejection', function(event) {
    // event.promise error handling 
});

节点

process.on('unhandledRejection', function(err, promise) {
    // promise error handling 
});

https://developer.mozilla.org/en-US/docs/Web/API/Window/onunhandledrejection https://thecodebarbarian.com/unhandled-promise-rejections-in-node.js.html