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