繁体   English   中英

Angular 中的链可观察 RxJs

[英]Chain Observable RxJs in Angular

我使用 RxJs 6.6.0 和 Angular 9。

我有两个函数返回 Observable<'Class1'> 和 Observable<'number'>。

所以我习惯:

funcA().subscribe(x=>{ // do something...});

funcB().subscribe(x=>{// do somethings..});

但我只需要在 funcA() 完成时调用 funcB 。 我看到 concat 可能会有所帮助,但我无法得到这样的两个答案

concat(funcA,funcB).subscribe( (x,y)=>{// do with x
//do with y});

我想这样做是因为 funcB 的参数取决于 funcA 的返回。

使用switchMap /operators 中的 switchMap 来实现它。

this.sub = funcA()
  .pipe(
    switchMap(valueFromA => {
      // use valueFromA in here.
      return funcB()
    })
  )
  .subscribe();

尝试通过以下方式实现它:

import {  mergeMap } from 'rxjs/operators';

funcA()
  .pipe(
     mergeMap(valueFromA => {
         funcB({value: valueFromA }))
     }
   )
  .subscribe(console.log);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM