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);