回调到process.on的引用错误

时间:2018-01-04 15:50:21

标签: javascript node.js error-handling runtime-error

我需要在脚本中为未处理的promise异常定义一个处理程序。我正在使用我在另一个模块中定义并导入的异常处理程序。节点documentation表示"使用以下参数调用侦听器函数",错误原因和承诺。如果我编写命令将我的异常处理程序与unhandledRejection事件关联起来,如下所示:

process.on('unhandledRejection', logPromiseException(error, promise));

我收到了参考错误:

ReferenceError: error is not defined

如果我写这样的函数:

process.on(
  'unhandledRejection', 
  (error, promise) => logPromiseException(error, promise)
);

一切都没问题。有人能帮助我理解为什么吗?

1 个答案:

答案 0 :(得分:1)

第二个参数应该是一个函数回调,该节点将调用并传递错误,承诺

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

这是一个简单的回调模式,只是为了演示可能在secene背后发生的什么

process.on=function(event,fn){
// assume we have err and promise variable already
if(event==='unhandledRejection')
// execute call back
fn(err,promise);
}