错误时执行代码

时间:2018-02-03 16:30:06

标签: node.js error-handling loopbackjs strongloop

我想在任何API出现任何错误时执行自动邮件代码。

虽然可以在远程方法的catch块中编写该代码,但我的代码库太长,因此这不是最合适的。 另一个问题是API的方法不是自定义远程方法,而是由loopback生成,很难使用catch块。

有人可以帮助我一个简单的方法,我需要编写一次代码,最终结果将是我的任何API中的错误,我的邮件代码自动运行。

2 个答案:

答案 0 :(得分:1)

在挣扎了一天之后得到了答案。

Loopback为模型方法

提供RemoteHook(afterRemoteError)
_modelName_.afterRemoteError( _methodName_, function( ctx, next) {
//...
next();
});

因此,只要特定方法返回任何错误,就会执行此代码块。

详细了解远程钩子:https://loopback.io/doc/en/lb2/Remote-hooks.html

为了在每次任何方法返回错误时运行此代码块,我们可以使用通配符

_modelName_.afterRemoteError(** , function( ctx, next) {
//...
next();
});

在此处详细了解通配符:https://loopback.io/doc/en/lb2/Remote-hooks.html#wildcards

答案 1 :(得分:0)

你应该看看Loopback https://github.com/strongloop/strong-error-handler

我还强烈建议整合像Rollbar这样的服务。