如何根据角度为2/4/5的另一个observable的结果返回一个observable

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何根据角度为2/4/5的另一个observable的结果返回一个observable相关的知识,希望对你有一定的参考价值。

嗨我正在制作一个有角度5的登录页面。我的方法如下:

login(context: LoginContext): Observable<number> 
let profileId: number;

this.http.post<AuthRes>(SERVER_API_URL + "api/authenticate", context).subscribe(authRes => 
  profileId = authRes.profileId;
  this.tokenService.setToken(authRes.token, context.rememberMe);
);

return of(profileId);

我的问题有时候,profileId在第一个observable完成工作之前返回为observable,当我尝试验证用户是否登录时我得到了错误的结果。

我想在执行第一个observable之后才返回profileId。

谢谢

答案
login(context: LoginContext): Observable<number> 
    return this.http.post<AuthRes>(`$SERVER_API_URLapi/authenticate`, context)
         .do(authRes => this.tokenService.setToken(authRes.token, context.rememberMe))
         .map(authRes => authRes.profileId);

以上是关于如何根据角度为2/4/5的另一个observable的结果返回一个observable的主要内容,如果未能解决你的问题,请参考以下文章

Pyspark:用同名的另一列替换行值

如何根据具有外键关系的另一个模型更新 Django 模型的字段

如何根据已经移动的另一个形状的位置在不同时间启动 ios 形状动画

当我进入另一个组件(角度2/4/5)的主题调用的订阅方法时,为什么我在控制台中看不到我的根变量组件?

如何根据 BigQuery 中的另一个现有行为每个用户添加记录?

如何根据 Python 中的另一个数据框过滤掉行? [复制]