在 node.js 运行中,当遇到 UnhandledPromiseRejectionWarning 错误或警告时,该如何解决呢?错误提示有时候是这样的:

(node:6603) UnhandledPromiseRejectionWarning: Error: Protocol error (Runtime.callFunctionOn): Object reference chain is too long

有时候是这样的:

(node:6603) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().

问题在于未捕捉的异常,解决办法就是加一个处理句柄,专门处理这个抛出错误(promise rejection):

process.on('unhandledRejection', (reason, p) => {
  console.log('Promise: ', p, 'Reason: ', reason)
  // do something
})
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐