如何找出未处理的承诺拒绝发生的位置?

时间:2017-06-02 12:08:00

标签: javascript node.js promise

快速序言:我理解Promises,我理解解决和拒绝。这不是问题。

(node:14104) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: "callback" argument must be a function
(node:14104) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.\

我理解我的代码中的某个地方'回调'论证,应该是一个函数,不是。这也不是我的问题。

如何找到未处理拒绝的代码行?

1 个答案:

答案 0 :(得分:7)

节点的'unhandledRejection' event应解决你的谜团:

process.on('unhandledRejection', (reason, promise) => {
    console.warn('Unhandled promise rejection:', promise, 'reason:', reason.stack || reason);
});

https://repl.it/I3JJ/2