我有以下代碼:
data$ = getResponse1$.pipe(
tap((res1: any) => {
this.qService.data = res1;
}),
switchMap(() =>
of(getResponse2$(res2)).pipe(
map((val) => {
const res: any = {
val,
};
return res;
})
)
)
);
僅當條件為真時,是否可以運行 getResponse1$ 即第一個 observable 以及 getResponse2$?否則,我只想執行 getResponse2$。
uj5u.com熱心網友回復:
看一看:RXJS 中的條件連接?
將其應用于您的案例:
getResponse2$.pipe(
switchMap(response => [your_condition] ? of(response).pipe(withLatestFrom(getResponse1$)) : of(response))
);
如果條件為真,您將獲得一個陣列作為輸出,其中陣列的第一個元素對應于getResponse2$結果值,第二個元素對應于getResponse2$. 否則你只會得到getResponse2$結果值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/439285.html
