2017-01-19 15 views
0

イオン2のAngularFire2を使用し、データをwebSqlStorageに保存しています。イオン2のAngularFire2でFirebaseデータを照会

私は最初のGETを完了すると、それをストレージに保存します。私がしたいのは、ユーザが接続してFirebaseのデータをチェックし、変更されていない場合はローカルデータを取得し、更新されたデータを取得する場合です。

現在のところ、ストレージがローカルデータを取得するヌルではないかどうかを確認する簡単なチェックがありますが、これは実働環境では機能しません。

if (data != null || this.af.checkUpdated('/programs')) { ... 

か何かのような何かを書くための方法があるかどう

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(); 
    }); 

}); 

ただ不思議。

答えて

1

自分のプロジェクトでprogram_versionのような追加のデータベース値を使用しました。 firebase program_versionが更新よりもローカルストレージより大きい場合すべてのプログラムの更新時にprogram_versionが増やされるか、タイムスタンプが設定されます。

+0

非常に興味深い考えです。 –

関連する問題