La memorizzazione nella cache offline e la funzionalità di riduzione della mappa sono entrambe in fase di sviluppo. Il Firebase.js La fonte è disponibile qui per dev e debug.
Puoi serializzare un'istantanea a livello locale Exportval per preservare tutti i dati prioritari. Se non si utilizza le priorità, un semplice valore farà:
var fb = new Firebase(URL);
fb.once('value', function(snapshot) {
console.log('values with priorities', snapshot.exportVal());
console.log('values without priorities', snapshot.val());
});
Più tardi, se Firebase è offline (usa .info/connesso Per aiutarti a determinare questo) quando viene caricata l'app, puoi chiamare .impostare() Per rimettere quei dati nella base di fuoco locale. Quando/se Firebase viene online, verrà sincronizzato.
Tuttavia, questo è veramente adatto solo a dati statici a cui solo una persona accederà e cambierà. Considera, ad esempio, la ricaduta se scarico i dati, tenerli localmente per una settimana ed è modificato da molti altri utenti durante quel periodo, quindi carico la mia app offline, apporta una modifica minore e poi vengo online. I miei cambiamenti stantii avrebbero spazzato via tutto il lavoro svolto nel mezzo.
Esistono molti modi per affrontare questo-risoluzione del conflitto, utilizzando regole di sicurezza e contatori/timestamp di aggiornamento per rilevare i dati stantii e prevenire regressioni-ma questa non è una faccenda semplice e ha bisogno di una profonda considerazione prima di percorrere questa rotta.