switchMap の使用中に問題が発生しました。私がやろうとしていることは次のとおりです。
1) Firestore DB から最初のオブジェクト/オブジェクトのプロパティを Observable としてフェッチする
2)最初のObservableのプロパティを使用し、別のFirestore呼び出しを行って別のObservableを取得します-これは最初のものに依存します-。
私の質問は、最初のオブザーバブルの結果を2番目のオブザーバブルに動的に渡すにはどうすればよいですか?
ヘルプはありますか?
ユーザー.サービス:
this.userCollection = this.afs.collection('users',
ref => ref.orderBy("user_order", "desc").limit(1));
this.users$ = this.userCollection.valueChanges();
return this.users$
タスク.サービス:
getUserTask(users: User[]): Observable<UserTask[]> {
this.tasksCollection = this.afs.collection('user_tasks',
ref => ref.where("user_id", "==", users[0].user_id));
return
this.userTaskCollection.valueChanges();
}
myComponent.ts:
this.user$ = this.userService.getUser();
const userTaskResult = this.user$.pipe(
switchMap((user) => this.userTaskService.getUserTask(user))
);
userTaskResult.subscribe(x => console.log(x)); //returns nothing