How do I find out where an unhandled promise rejec

2019-02-18 04:24发布

问题:

This question already has an answer here:

  • How to find which promises are unhandled in Node.js UnhandledPromiseRejectionWarning? 2 answers

Quick preface: I understand Promises, I understand resolving and rejection. This is not the question.

(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.\

I understand somewhere in my code a 'callback' argument, which should be a function, isn't. That is also not my question.

How do I find the line of code where the unhandled rejection occurred?

回答1:

node's 'unhandledRejection' event should solve your mystery:

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

https://repl.it/I3JJ/2