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

时间:2017-01-19 18:55:45

标签: firebase ionic2 angularfire2

我正在使用带有离子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')) { ...

或其他什么。

1 个答案:

答案 0 :(得分:1)

我在项目中使用了一个额外的数据库值,如program_version。如果firebase program_version大于本地存储,则更新。在每次程序更新时,您的program_version都将增加或设置时间戳。