Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 计算附加到firestore文档的侦听器数_Javascript_Firebase_React Native_Google Cloud Firestore - Fatal编程技术网

Javascript 计算附加到firestore文档的侦听器数

Javascript 计算附加到firestore文档的侦听器数,javascript,firebase,react-native,google-cloud-firestore,Javascript,Firebase,React Native,Google Cloud Firestore,我正在我的react native应用程序中使用一个群组聊天功能,因此,每个使用我的应用程序的人或者更好的说法是,聊天功能将有一个连接到firestore集合的侦听器,该集合保存我的所有聊天信息 我想实现的功能是对当前聊天中的人进行计数,因此基本上我想计算当前正在收听firebase集合的侦听器的数量 我的一个想法是在firestore中增加一个计数器,并在您开始收听文档时立即检索它,如果您返回一个屏幕,则减少它。如果你加入聊天,计数器上升,如果你离开,计数器下降。 这种方法的问题是,我不会处理

我正在我的react native应用程序中使用一个群组聊天功能,因此,每个使用我的应用程序的人或者更好的说法是,聊天功能将有一个连接到firestore集合的侦听器,该集合保存我的所有聊天信息

我想实现的功能是对当前聊天中的人进行计数,因此基本上我想计算当前正在收听firebase集合的侦听器的数量

我的一个想法是在firestore中增加一个计数器,并在您开始收听文档时立即检索它,如果您返回一个屏幕,则减少它。如果你加入聊天,计数器上升,如果你离开,计数器下降。 这种方法的问题是,我不会处理任何人在收听文档时失去连接或关闭应用程序。可以增加,但不能减少,因此我的计数器会有一个错误的数字

因此,我想问,是否有人知道如何完成这项任务?例如,是否有可能在断开连接时执行功能?我可以想象,在我的应用程序中,前端会出现这种情况,因为一旦我断开与firestore的连接。。。我无法检索或发送和数据了

我想要实现的特性是一个计数器,用于计算 当前正在聊天

我认为您正在寻找存在机制,该机制可以通过实时数据库进行设置,您可以使用云功能将Cloud Firestore连接到该机制

看看:

  • (Firebase博客)


不知道此功能,而且您提供的文档,特别是secound链接,非常有用。我将附上我找到的关于onDisconnect()的另一个文档,因为我觉得它非常重要。