Мне нужно объединить UserRole из RealtimeDatabase и User из FirebaseAuth. Как мне объединить эти два запроса, один из которых основан на другом? Следующий код позволяет загрузить один файл или два файла одновременно.
from(this.auth.signInWithEmailAndPassword(email, password))
.pipe(
switchMap((result: any) => this.getUserRole(result.user.uid)),
take(1)
)
.subscribe(console.warn);
или
combineLatest([x1, this.getUserRole('8OKFSRBeZ3dY4ecQVn8AyJHBQim2')])
.pipe(tap(console.warn))
.subscribe();
Работает ли это для вас? Примечание: combLatest может быть не лучшим вариантом для этого случая, вы можете попробовать forkJoin.
from(this.auth.signInWithEmailAndPassword(email, password))
.pipe(
switchMap((result: any) => combineLatest(of(result.user), this.getUserRole(result.user.uid))),
)
.subscribe(console.warn);
Вы хотите знать лучший подход?