私は約束または観測可能性を使用してプログラミングと非同期を学習しており、理解するのが少し難しいです 2つのデータソース、投稿(ユーザーIDを投稿したユーザー)、およびユーザーが、達成するには、単純に、画像、名前などのような一部のユーザー情報を含む投稿を表示することです。どのように進めるのですか?2つのソースからデータを取得
これは私が私のソースを取得する方法である:投稿
allPosts(): Subject<Post[]> {
const postsObservable = new BehaviorSubject<Post[]>(null)
this.rootRef.child('posts').on('value', snapshot => {
const data = snapshot.val()
const posts = Object.keys(data)
.map(id => new Post(id, data[id]))
.sort((lhs, rhs) => rhs.date.getTime() - lhs.date.getTime())
postsObservable.next(posts)
})
return postsObservable
}
ため
allUsers() {
return new Promise((resolve, reject) => {
this.rootRef.child('users').once('value', snapshot => {
const data = snapshot.val()
const users = Object.keys(data).map(id => new User(id, data[id]))
resolve(users)
})
})
}
私はときに、ユーザーのポストに何か画像と名前のように、ユーザーデータを追加する必要がありますか、それをこのようにすることは可能ですか?
データを結合するために 'combineLatest'zip'または' withLatestFrom'のようなsmthを使うことができます。 – xgrommx