建议的方法在Loopback

时间:2018-01-12 07:51:40

标签: node.js loopbackjs

要在环回中实现密码重置请求(使用重置链接向用户发送电子邮件),我们需要handle the event resetPasswordRequest

这是一个可能的实现

Client.on('resetPasswordRequest', function(info) {
  var options = {
    type: 'email',
    to: info.email,
    from: '....',
    ...
  };

  Client.email.send(options, function(err, res) {
    if (err) console.log(err);
  });
});

使用这种方法,如果发生错误,它只是记录到控制台。抛出一个无法处理的错误也不是一个更好的解决方案。

为什么文档中没有提到使用afterRemoteHook添加此逻辑甚至创建新的自定义端点?两种解决方案似乎都更善于处理错误。

1 个答案:

答案 0 :(得分:1)

我认为您的代码基于example application,不是吗?如果是这样,这种方法由示例应用程序的开发人员使用,但不是必需的实现。您可以使用任何其他适当的解决方案,其中一个就是您在问题中提到的内容。

至于发射事件 - 它有它的优点。您发出事件并立即发送响应请求。所以客户端应用程序不会等到电子邮件发送部分将发送电子邮件 - 这可能需要几秒到几十秒。

您可以实施电子邮件发送日志,并在用户等待密码重置电子邮件时向其发出另一个请求,从而在发生任何错误时通知他。

另一方面,这仅是示例,但不是生产中使用的必需实现。