是否可以创建类似于finally的东西,但是要订阅它? 喜欢:
如果条件X :Observable1.switchMap(返回ObservableA).switchMap(ObservableB).subscribe() 如果条件Y :Observable2.switchMap(返回ObservableA).switchMap(ObservableB).subscribe()
有没有办法在第二部分没有重复的情况下这样做?
答案 0 :(得分:1)
Observable在订阅之前不会触发,所以你可以这样做:
const obs$ = condition ? Observable1 : Observable2;
obs$.switchMap(...)
或者,如果您更喜欢单个流利链,也可以使用
Observable.defer(() => condition ? Observable1 : Observable2)
.switchMap(...)