【问题标题】:Firebase - handle errors on cloud function triggerFirebase - 处理云函数触发器上的错误
【发布时间】:2018-05-17 02:30:35
【问题描述】:

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

例如 - 我在 Firebase Auth 上有一个触发器,每次创建新用户时都会在我们的 Stripe 帐户上创建一个 Stripe 客户。 Stipe API 调用可能会失败。在“正常”HTTP 请求中,我将向客户端返回一个错误,客户端将作出相应响应,但在云函数上,我没有来自触发器的回调(或者我有吗?)

知道在使用云功能时如何处理这个问题吗?

谢谢

【问题讨论】:

    标签: firebase google-cloud-functions


    【解决方案1】:

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

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

    【讨论】:

    • 您好,感谢您的回答。我知道如何使用 Promise,我的问题是即使我在 .catch 上捕获错误,此时,在触发器中我只能记录此错误或将其发送到跟踪器,但我无法在客户端响应。是不是更清楚了?
    • 嘿@shannoga 你有没有找到解决办法??
    猜你喜欢
    • 2022-08-14
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    • 2018-09-14
    • 2018-06-09
    • 1970-01-01
    • 2019-07-27
    • 2021-02-13
    相关资源
    最近更新 更多