Firebase - 处理云功能触发错误

时间:2017-12-03 14:52:52

标签: firebase google-cloud-functions

我开始使用Firebase Cloud功能,它通常很棒。 我唯一不清楚的是如何处理在触发器函数中运行的进程的失败。

例如 - 我在Firebase Auth上有一个触发器,每次创建新用户时,我们会在Stripe帐户上创建一个Stripe Customer。 Stipe API调用可能会失败。在"普通" HTTP请求我将向客户端返回一个错误,该错误会相应地响应,但是在云函数上我没有触发器的回调(或者我?)

任何想法如何在使用云功能时处理这个问题?

谢谢

1 个答案:

答案 0 :(得分:1)

您在auth trigger中执行的操作取决于您调用的API。如您所知,在HTTP函数中,您可以为可能发生的每个代码路径返回客户端的响应。对于所有其他类型的函数(包括Auth函数),您需要返回在所有工作完成后解析的promise。如果Stripe API使用promises,您可以简单地使用这些(除了代码中的任何其他内容)返回单个promise。如果你手头有一个承诺,你可以通过在该承诺上使用catch()来捕获错误,从而知道它的工作是否失败。

我强烈建议您阅读Firebase docs on promises,同时查看sample code(尤其是Stripe example)。