离线缓存和地图降低样功能都在开发中。 firebase.js 来源可在此处使用 用于开发和调试。
您可以使用本地序列化快照 出口 保留所有优先数据。如果您不使用优先级,那么简单的价值将会做:
var fb = new Firebase(URL);
fb.once('value', function(snapshot) {
console.log('values with priorities', snapshot.exportVal());
console.log('values without priorities', snapshot.val());
});
稍后,如果firebase脱机(使用 .info/连接 为了帮助确定这一点)当您的应用程序加载时,您可以致电 。放() 将这些数据放回本地燃料基础上。何时/如果Firebase上网,则将同步。
但是,这确实仅适用于只有一个人访问和更改的静态数据。例如,考虑一下,如果我下载数据,请在本地保留一周的后果,并在此期间由其他几个用户修改,然后我离线加载应用程序,进行一个较小的更改,然后在线上。我的陈旧变化将炸毁两者之间所做的所有工作。
有很多方法可以处理此 - 冲突解决方案,使用安全规则并更新计数器/时间戳来检测陈旧数据并防止回归 - 但这并不是一个简单的事情,在您沿着这条路线前进之前需要深入考虑。