我正在使用带有ionic 2的AngularFire2并将数据存储在webSqlStorage中。
当我完成第一个 GET 时,它会将其保存到存储中。我想做的是,如果用户有连接,然后检查Firebase的数据,如果它没有改变,则获取本地数据,否则获取更新的数据。
目前,我有一个简单的检查,看看那里的存储是否不为空,然后获取本地数据,但这不适用于生产。
let loader = this.loadingCtrl.create({
content: 'Getting Programs...'
});
loader.present().then(() => {
this.storage.get('programs').then((data) => {
if (data != null) {
loader.setContent("Getting Local Data...");
this.programs = data;
} else {
this.yApi.getPrograms().then(data => {
this.programs = data;
this.storage.set('programs', data);
},err => {
// Probaly offline with no local data
console.log("Err is to human");
});
}
}).then(() => {
loader.dismiss();
});
});
只是想知道是否有办法写类似的东西
if (data != null || this.af.checkUpdated('/programs')) { ...
什么的。
我在项目中使用了额外的数据库值,如program_version。如果 Firebase program_version大于本地存储,则大于更新。每次程序更新时,您的program_version都会增加或设置时间戳。