在Ionic 2中使用AngularFire2查询Firebase数据

在Ionic 2中使用AngularFire2查询Firebase数据,firebase,ionic2,angularfire2,Firebase,Ionic2,Angularfire2,我将AngularFire2与ionic 2一起使用,并将数据存储在WebSQL存储中 当我完成第一个GET时,它会将其保存到存储器中。我想做的是,如果用户有连接,那么检查Firebase中的数据,如果没有更改,那么获取本地数据,否则获取更新的数据 目前,我有一个简单的检查,看看是否有存储不是空的,然后获得本地数据,但这将不适用于生产 let loader = this.loadingCtrl.create({ content: 'Getting Programs...' }); load

我将AngularFire2与ionic 2一起使用,并将数据存储在WebSQL存储中

当我完成第一个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\u version。如果firebase program_版本大于本地存储,则更新。在每次程序更新时,您的程序版本将增加或设置时间戳

非常有趣的主意。。我会试试的