我正在尝试为项目创建一个登录系统,我有一个auth-service,令牌服务和我的登录组件,我刚开始使用RxJS,所以这很可能是一个非常愚蠢的问题。
我的设计是让令牌服务获取令牌并使用我的后端执行HTTP请求,将信息传递到auth-service,这将确定用户是否已成功登录,然后将其传递回login-component将停止允许用户进一步进入站点。
代码在我的令牌服务中是这样的:
getToken() : any {
return this.http.get(this.SERVER.HREF + query, requestOptions).share();
}
makeRequest() : any {
let obsv = getToken();
obsv.subscribe((res: Response) =>) {
let token = res.json().data.token;
this.http.get(this.SERVER.HREF + query, requestOptions).share();
// above is that Observable that returns the data that I would like to
// pass back to auth-service
}
}
将auth-service注入login-component,并将令牌服务注入到auth-service中。如何获取我的请求结果到auth-service,以便它可以解析它并将一个布尔值返回给login-component?
答案 0 :(得分:0)
您的令牌服务
getToken() : any {
return this.http.get(this.SERVER.HREF + query, requestOptions);
}
makeRequest() : any {
return this.getToken().switchMap(()=>{
return this.http.get(this.SERVER.HREF + query, requestOptions)
});
}
您的身份验证服务,假设您已将令牌服务注入_tokenService
this._tokenService.makeRequest().subscribe(console.log)