如何结合 switchMap 和 combineLatest
How to combine switchMap with combineLatest
我需要结合 RealtimeDatabase 的 UserRole 和 FirebaseAuth 的 User。如何组合这两个查询,其中一个查询基于另一个查询?以下代码允许您同时下载一个文件或两个文件。
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();
对你有用吗?注意: combineLatest 可能不是最好的,你可以尝试 forkJoin.
from(this.auth.signInWithEmailAndPassword(email, password))
.pipe(
switchMap((result: any) => combineLatest(of(result.user), this.getUserRole(result.user.uid))),
)
.subscribe(console.warn);
我需要结合 RealtimeDatabase 的 UserRole 和 FirebaseAuth 的 User。如何组合这两个查询,其中一个查询基于另一个查询?以下代码允许您同时下载一个文件或两个文件。
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();
对你有用吗?注意: combineLatest 可能不是最好的,你可以尝试 forkJoin.
from(this.auth.signInWithEmailAndPassword(email, password))
.pipe(
switchMap((result: any) => combineLatest(of(result.user), this.getUserRole(result.user.uid))),
)
.subscribe(console.warn);