gpt4 book ai didi

javascript - Firebase (Google) 云函数 - 去抖动/节流 database.onWrite() #AskFirebase

转载 作者:行者123 更新时间:2023-12-03 13:12:25 24 4
gpt4 key购买 nike

设想

我在路径 documents/${documentId} 为每个用户存储了文档

目标

我想解析它们并在该文档更改时更新该文档的索引

代码

import Functions from 'firebase-functions'

export writeTrigger = Functions
.database
.ref('/document/{documentId}')
.onWrite(
async event => {
const data = event.data.val()
const { documentId } = event.params
// assume that updateIndex function exists
updateIndex(documentId, data)
}
)

问题

这个函数被每一个输入到文档中的字母调用

TLDR

节流/去抖动firebase云功能(database.onWrite)的最佳方法是什么,以便它不会在每次更改时触发?

最佳答案

您的函数将在您指定的路径处或路径下的每个更改中被调用。目前没有办法阻止这种情况。

与其将每个更改都写入数据库,不如尝试在客户端上批量更改并批量写入,或者定期保存状态。

或者,给客户端一些其他方式来指示该函数工作的时间到了,也许是文档中的某个字段,并且只听该字段的更改。这是一个仅在字段 done 时触发被改变:

export writeTrigger = Functions
.database
.ref('/document/{documentId}/done')
.onWrite(...)

只需确保取消设置该值,以便客户端可以指示应处理另一组更改。

关于javascript - Firebase (Google) 云函数 - 去抖动/节流 database.onWrite() #AskFirebase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45002422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com