使用keepSynced(true)清除Firebase缓存不起作用

时间:2019-03-07 10:39:24

标签: javascript firebase firebase-realtime-database

我需要保持Firebase数据库同步,因此我进行了一些搜索,发现可以使用 keepsynced(true),因为默认情况下,Firebase会在缓存中保留10mb数据,如果有,进一步增长,它将被新数据取代 所以我就这样使用它 (在有故障的节点应用程序上使用Firebase)

 var locationRef = admin
    .database()
    .ref()
    .child("locations");
 locationRef.keepSynced(true);
 locationRef.once('value').then(function(snapshot) {
        snapshot.forEach(function(childSnapshot) {
        var childKey = childSnapshot.key;
        var childData = childSnapshot.val();
          console.log(childData);
          presseLocations.push(childData)
                });

但我遇到此错误:

 locationRef.keepSynced is not a function

有什么主意吗?

1 个答案:

答案 0 :(得分:1)

要保持数据同步,应该使用on()而不是一次(one)(),因为一次使用一次()从数据库获取值,而一次使用on()则继续侦听数据更改,直到您调用off()。 )