O cache off-line e a funcionalidade do tipo Reduce estão em desenvolvimento. O Firebase.js A fonte está disponível aqui Para Dev e Debugging.
Você pode serializar em serializar um instantâneo localmente usando exportVal Para preservar todos os dados prioritários. Se você não estiver usando prioridades, um valor simples serve:
var fb = new Firebase(URL);
fb.once('value', function(snapshot) {
console.log('values with priorities', snapshot.exportVal());
console.log('values without priorities', snapshot.val());
});
Mais tarde, se o Firebase estiver offline (use .info/conectado Para ajudar a determinar isso) quando seu aplicativo é carregado, você pode ligar .definir() Para colocar esses dados de volta na base de fogo local. Quando/se o Firebase estiver online, ela será sincronizada.
No entanto, isso é realmente adequado apenas para dados estáticos que apenas uma pessoa acessará e mudará. Considere, por exemplo, o Fallout se eu baixar os dados, mantenha -os localmente por uma semana e é modificado por vários outros usuários durante esse período, então carrego meu aplicativo offline, faço uma pequena alteração e depois online. Minhas mudanças obsoletas se afastariam de todo o trabalho realizado no meio.
Existem muitas maneiras de lidar com isso-resolução de conflito, usando regras de segurança e atualizações/contadores de data e hora para detectar dados obsoletos e impedir regressões-mas esse não é um caso simples e precisa de uma consideração profunda antes de seguir essa rota.