首页 > 解决方案 > 我是否需要明确“结束”由 Firestore 事件触发的 Firebase Cloud Functions?

问题描述

在Firebase 的HTTP 函数中,我们得到:

终止 HTTP 函数文档链接

始终使用 send()、redirect() 或 end() 结束 HTTP 函数。否则,您的函数可能会继续运行并被系统强制终止。另请参阅同步、异步和承诺。

问题

是否需要与其他类型的功能(例如由 Firestore 事件触发的功能)类似的东西?

我是否需要返回一些东西(即使它是空的)或其他一些命令来明确结束它?

标签: node.jsfirebasegoogle-cloud-firestoregoogle-cloud-functions

解决方案


是否需要与其他类型的功能(例如由 Firestore 事件触发的功能)类似的东西?

所有其他类型的云函数(即除 HTTP 云函数之外的所有云函数)都要求您返回一个承诺,该承诺将在异步工作完成时解决。这包括后台触发的云函数(例如由 Firestore 事件触发的函数)。

如果您的 Cloud Function 不包含异步操作,您可以返回一个简单的值,例如null当所有工作完成时。如果您想取消 Cloud Function 执行,您也可以执行此操作,例如,如果未满足先决条件。官方 Cloud Functions 示例显示了几个示例,特别是herehere


我建议您观看 Firebase 视频系列中关于“JavaScript Promises”的 3 个视频:https ://firebase.google.com/docs/functions/video-series/ ,其中详细解释了这一点。


推荐阅读