Javascript 是";参考关闭();读取数据后从Firebase数据库断开连接的正确方法?

Javascript 是";参考关闭();读取数据后从Firebase数据库断开连接的正确方法?,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我们有从Firebase数据库读取数据然后断开连接的场景(我们不关心接收该数据的更新)。我们使用的代码如下所示: ref.once('value', function(snapshot) { snapshot.forEach(function(childSnapshot) { var childKey = childSnapshot.key; var childData = childSnapshot.val(); // Display the data });

我们有从Firebase数据库读取数据然后断开连接的场景(我们不关心接收该数据的更新)。我们使用的代码如下所示:

ref.once('value', function(snapshot) {
  snapshot.forEach(function(childSnapshot) {
    var childKey = childSnapshot.key;
    var childData = childSnapshot.val();
    // Display the data
  });
});
我们使用
ref.once()

停止监控的最佳方法是什么?我们是否应该尝试这样做以减少资源消耗,等等。?我们尝试了
ref.off()
,但似乎没有什么不同。

根据,您不需要调用
off()

在某些情况下,您可能希望在不侦听更改的情况下获取数据的快照,例如在初始化您不希望更改的UI元素时。您可以使用once()方法简化此场景:它触发一次,然后不再触发。

这对于只需加载一次且不需要频繁更改或需要主动侦听的数据非常有用。例如,前面示例中的博客应用程序在用户开始创作新文章时使用此方法加载用户的配置文件:

根据,您不需要调用
off()

在某些情况下,您可能希望在不侦听更改的情况下获取数据的快照,例如在初始化您不希望更改的UI元素时。您可以使用once()方法简化此场景:它触发一次,然后不再触发。

这对于只需加载一次且不需要频繁更改或需要主动侦听的数据非常有用。例如,前面示例中的博客应用程序在用户开始创作新文章时使用此方法加载用户的配置文件:


要停止监视,请用
one()
或调用
off()
断开侦听器的连接。要断开连接,请调用
disconnect()
。(在JavaScript客户机中)(目前)这两者不相关。要停止监视,请断开侦听器的连接,方法是使用
one()
或调用
off()
。要断开连接,请调用
disconnect()
。(在JavaScript客户机中)(目前)这两者没有关联。
var userId = firebase.auth().currentUser.uid;
return firebase.database().ref('/users/' + userId).once('value').then(function(snapshot) {
var username = snapshot.val().username;
// ...
});