私はのIndexedDBを使用するシンプルなアプリ(コード私はhttps://github.com/robisim74/angular2indexedDBを借り、彼のサンプルアプリケーションのためのRobisimのおかげで)書いてきたが、トラブル非同期に私のコンポーネントのオブジェクトの配列へのアクセスを持っています。私は、HTMLページでITEMSを繰り返し処理することができますが、非同期パイプ - 私はtsファイルのオブジェクト配列で動作するように見えません。私は観測可能なものを購読しようとしましたが、何もすることに成功しません。誰も私が観察がのIndexedDBから読み込みが完了しているオブジェクト配列内の最初のオブジェクトを選択して助けてくださいことはできますか?それは角度2に完了した後に観察可能なストリームにアクセスしますか?
ホームコンポーネント
getSchedule(){
this.selectedSchedule = this.entity.schedule[0];
}
項目()を取得:アプリComponeで観察{
return new Observable((observer: Observer<Array<Item>>) => {
observer.next(this.entity.schedule);
console.log(this.entity.schedule);
observer.complete();
});
}
コードNT DB
を開くopenDB(DBNAME:文字列){
// Opens the database.
this.indexedDB.openDBAsync(dbName, 1).forEach(
// Next.
(readyState: string) => {
console.log('IndexedDB service: opening db: ' + readyState);
}, null
).then(
() => {
// Gets all records from "TodoStore".
this.indexedDB.getAllRecordsAsync("ItemStore").forEach(
// Next.
(record: Item) => {
// Adds next record to the Todos entity.
if (record != null) {
this.entity.addItem(record);
}
}, null
).then(() => console.log('IndexedDB service: obtaining of all records completed.'))
}
);
}
こんにちは、私の質問にお答えいただきありがとうございます。私は過去数日間の答えを実装しようとしています。起こったことの1つは、アプリ全体が空白の白い画面に読み込まれ、コンソールや端末でエラーが発生していないということでした。私はAPP_INITIALIZERの他の例を見て、まだ種類の失われています。 –
私はちょうどそれが動作するようになりました!あなたのレポのアプリケーションを見て、IndexedDBのために提供され、それは完璧に動作し、アプリケーションのロード時に最初のアイテムを受け取ることができます。もう一度ありがとう! –