最后回调可观察

时间:2018-03-10 13:34:17

标签: rxjs observable subscription angular2-observables

是否可以创建类似于finally的东西,但是要订阅它? 喜欢:

  • Observable1(API上的PUT)
  • Observable2(API上的POST)
  • ObservableA
  • ObservableB

如果条件X :Observable1.switchMap(返回ObservableA).switchMap(ObservableB).subscribe() 如果条件Y :Observable2.switchMap(返回ObservableA).switchMap(ObservableB).subscribe()

有没有办法在第二部分没有重复的情况下这样做?

1 个答案:

答案 0 :(得分:1)

Observable在订阅之前不会触发,所以你可以这样做:

const obs$ = condition ? Observable1 : Observable2;
obs$.switchMap(...)

或者,如果您更喜欢单个流利链,也可以使用

Observable.defer(() => condition ? Observable1 : Observable2)
 .switchMap(...) 
相关问题