我想使用notifications集合作为一次性吐司通知的排序WebSocket连接,比如当用户存入加密货币并得到确认时,其背后的逻辑是云函数监听添加到集合中的文档。
我试着收听来自上述集合的实时更新,并将其限制在最后一次创建的更新,但我现在遇到的问题是,我不希望用户在重新加载时立即收到最后一次吐司通知...也就是说,如果用户不活动,我不希望用户在下次活动时看到通知。
我想让它们保持原样,只在用户处于活动状态时发出一次性吐司通知。所以我的问题是,有没有办法跳过onSnapshot侦听器中的初始数据?
2条答案
按热度按时间68bkxrlz1#
Firestore侦听器返回您请求的数据,然后侦听对该数据的更新。没有办法跳过初始数据而只接收更新,但您通常可以更改您请求的数据。
例如,如果您确保集合中的每个文档都有一个创建时间戳,则可以使用查询仅请求在开始侦听之后创建的数据:
2nbm6dog2#
您可以声明一个有状态函数,它可以通过回调重复调用,但总是跳过第一次调用。
假设您有一个快照处理程序,如下所示:
然后,您可以 Package 处理程序函数并将其传递到
onSnapshot
侦听器,如下所示:skipFirst(onSnapshot)