Offline-Caching und MAP-reduzierte Funktionen sind beide in der Entwicklung. Die Firebase.js Quelle ist hier verfügbar Für Entwickler und Debuggen.
Sie können einen Snapshot lokal mithilfe serialisieren Exportval Erhaltung aller Prioritätsdaten. Wenn Sie keine Prioritäten verwenden, ist ein einfacher Wert ausfällt:
var fb = new Firebase(URL);
fb.once('value', function(snapshot) {
console.log('values with priorities', snapshot.exportVal());
console.log('values without priorities', snapshot.val());
});
Später, wenn Firebase offline ist (Verwendung .info/verbunden Um dies zu bestimmen) Wenn Ihre App geladen ist, können Sie anrufen .einstellen() Um diese Daten wieder in die lokale Feuerwehrbasis zu setzen. Wenn/wenn Firebase online kommt, wird es synchronisiert.
Dies eignet sich jedoch nur für statische Daten, auf die nur eine Person zugreifen und sich ändern. Betrachten Sie zum Beispiel den Fallout, wenn ich die Daten herunterlade, sie für eine Woche lokal behalten und von mehreren anderen Benutzern während dieser Zeit geändert wird. Dann lade ich meine App offline, nehme eine kleine Änderung vor und komme dann online. Meine abgestandenen Veränderungen würden alle Arbeiten dazwischen wegblasen.
Es gibt viele Möglichkeiten, dies zu behandeln-die Auflösung der Konflikte, die Verwendung von Sicherheitsregeln und die Aktualisierung von Zähler/Zeitstempeln, um abgestandene Daten zu erkennen und Regressionen zu verhindern-, aber dies ist keine einfache Angelegenheit und benötigt eine tiefe Überlegung, bevor Sie diese Route abrufen.