创建一个观察者并通知我的订阅者

时间:2020-08-11 07:56:55

标签: angular observable angular-httpclient

我需要提供一个返回要订阅的Observer的函数。 在此函数中,我使用一个API调用来返回要注册的Observer。 分析从注册的观察者获得的数据后,我需要通知观察者订阅者。

这是我的代码,我应该如何通知订户?

public isLoggedIn() : Observable<User>
  {
    let myobs : Observable<any> = Observable.create((observer) => {
      let obs : Observable<any> ;   
      obs = this.webservice.getAuthorized<isLoggedInResponse>(this.isLoggedInServiceName, null, UserService.user.requestToken) ; //This is a code that use httpClient and get's it's Observable
      obs.subscribe((response : isLoggedInResponse) =>{           
        if(response.loggedInUser)
        {    
          //Here i need to notifty myobs's subscribers on success                          
        }           
        else
        {
          //Here i need to notifty myobs's subscribers on failure
        }
      });
    });
    return myobs;
  }

1 个答案:

答案 0 :(得分:0)

这是我更新的代码:

let myobs : Observable<any> = Observable.create((observer ) => {
      let obs : Observable<any> ;
        
      obs = this.webservice.getAuthorized<isLoggedInResponse>(this.isLoggedInServiceName, null, UserService.user.requestToken) ;
      
      obs.subscribe((response : isLoggedInResponse) =>{   
        localStorage.removeItem(UserService.USER_DATA_TOKEN);
        if(response.loggedInUser)
        {    
          observer.next(response.loggedInUser);                                  
        } 
        else{
          observer.error();
        }  
        observer.complete();        
      });
    });
    return myobs;