Angular 主题下一次触发后如何调用Observable
在我的服务中,我有一个主题,该主题在调用方法时被触发Angular 主题下一次触发后如何调用Observable,angular,Angular,在我的服务中,我有一个主题,该主题在调用方法时被触发 export class AuthService { isAdmin$ = new Subject(); constructor(private http: HttpClient, private utilService: UtilService) { } login(user:User){ this.isAdmin$.nex
export class AuthService {
isAdmin$ = new Subject();
constructor(private http: HttpClient,
private utilService: UtilService) {
}
login(user:User){
this.isAdmin$.next();
return this.http.post(url, user);
}
isAdmin(){
return this.http.get(`url/permissions`));
}
}
在我的部分中,我将讨论这个问题。我想调用另一个方法,它返回Observable。但如果我在我的组件中这样称呼它,它就不工作了
this.authService.isAdmin$.subscribe(()=>{
this.authService.isAdmin().subscribe((result)=>{
this.isAdmin = result;
});
那个么,我该如何调用方法,该方法在下次触发主题后返回Observable?也许您可以使用:
isAdmin()
做什么?我真的不明白你想做什么。什么是isAdmin()?你能分享一下缺失的部分吗?或者创建一个堆栈闪电战。Subscribe内的Subscribe总是一个糟糕的做法我添加了缺少的方法。我猜您的isAdmin()方法必须在您的login()方法之后调用,对吗?是的。非常感谢你。这就是我想要的!很好用。是的,很好!:)
this.authService.isAdmin$
.pipe(
switchMapTo(this.authService.isAdmin())
).subscribe(result => this.isAdmin = result);