【发布时间】:2021-07-05 18:16:39
【问题描述】:
组件控制器对GetData的调用过早,我希望它等待识别结束后再触发。
页面加载时,有调用服务器进行识别:
return this.http.get<AuthInfo>('.../Auth/login').pipe(
map((authInfo: AuthInfo) => {
// ... authentification completed
return authInfo;
}),
);
然后,他们将能够从其他几个组件调用服务器:(使用之前提供的 JWT 令牌)
this.serviceA.methodB().subscribe(
result => { ... }
)
methodB(): Observable<any> {
return this.http.get<any>('.../Data/GetData').pipe(
map(result => {
...
return result;
}),
);
}
我希望只有在识别完成后才调用methodB。
所以如果调用任何方法,如果识别过程没有完成,它必须能够暂停。
这里的难点在于methodB是在登录方法执行期间或之后从其他地方调用的。
RxJs 可以做到这一点吗?
【问题讨论】:
-
我认为您需要一个共享服务来存储身份识别状态(作为
Observable或Subject)
标签: javascript angular rxjs