.map运算符返回后的执行

时间:2018-11-13 11:22:44

标签: angular rxjs

setTimeout返回一个可观察值。 我希望在地图返回后执行setTimeout中的回调。是否可以摆脱SomeService.someMethodverifyEmail() .pipe( map((data: any) => { setTimeout(() => { ... }, 0); return ...; }), catchError(() => null) ); 并使用某些RxJs链接方法来做到这一点?

set()

P.S。请不要提出诸如为什么要这样做的问题!

1 个答案:

答案 0 :(得分:0)

您可以使用switchMap,更多信息here

SomeService.someMethodverifyEmail()
    .pipe(
      switchMap((data) => {
        // This will fires only when someMethodVerifyEmail() has finish
        return this.someService.someOtherMethod(data)
      }),
      catchError(() => null)
    );