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

问题描述

我需要提供一个返回要订阅的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;
  }

解决方法

这是我更新的代码:

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;

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...