2017-08-24 4 views
1

スニペットはより大きなコードの一部です。一般的に、firebaseデータベースには、ユーザと呼ばれるオブジェクトがあります(リストではありません)。私はそれらのいくつかを取得し、ArrayまたはFirebaseListObservableに変換する必要があります。複数のFirebaseObjectObservableをFirebaseListObservableに変換する

Observable.merge(...[ 
    this.db.object('users/user1'), 
    this.db.object('users/user2'), 
    this.db.object('users/user3'), 
    this.db.object('users/user4'), 
    this.db.object('users/user5') 
]).subscribe(user => { 
    console.log(user); 
}); 

これはユーザーごとに返信しますが、すべてのユーザーをまとめて取得する必要があります。私はそれを同期して行う必要があります。何か案は?

+0

あなたは 'Promise.all'を調べましたか? – theblindprophet

答えて

1

私は同様の問題があり、これは、私は一瞬のためにそれを解決しています方法です:

getUsers(): Observable<any> { 
    let observables = []; 
    for (let user of users) { 
     observables.push(this.db.object(user)) 
    }  
    return Observable.combineLatest(...observables, (...results) => { return results }); 
} 

私がやって管理していなかった何がFirebaseListObservableとしてそれを返すことです。

+0

それは実現可能な解決策です。私は他のものが私のためにうまくいくのが分かった。リストメソッドでfirebaseを照会し、必要なキーの値を指定します。 –

関連する問題