Firebase功能 - 不触发事件

时间:2018-02-28 18:35:35

标签: google-cloud-functions

我正在使用Firebase函数在发生某些事件(创建/更新/删除数据库中的记录)之后执行Realtime Database的其他更新,并触发另一个事件。有没有办法防止第二次事件?我知道如果满足条件我可以取消它,但我想阻止它第二次启动。

1 个答案:

答案 0 :(得分:2)

无法阻止触发它的代码中的事件。这将容许任何人都不想要的漏洞。

您可以将触发器更改为不再响应更改。例如,您经常会看到函数只需要响应节点的创建而不是更新。在这种情况下,您可以将触发器绑定到onCreate,而不是onUpdateonWrite

或者,您可以捕获函数本身的更新并绕过进一步的更新。例如,如果您有一个修改数据的函数,您可以通过在数据中使用flag属性或通过检测第二次没有更改来检测它已经修改了数据。在这种情况下,你会跳过重新更新。

请注意,第二种方法可以捕获更多情况,但会导致一次触发而非严格需要。所以如果可能的话,我总是更喜欢第一种方法。

相关问题