如何正确发送RxJS请求,当有4个不同的API端点时,我需要请求每个端点,直到前一个不返回数据。
模式是
Request 1 -> Return Void
Request 2 -> Returned data, stop working and return data
Request 3 -> Will fail
结果是
只有一个请求的结果。
我试过这样做。
req1$ = of(response);
req2$ = of(response);
req1$.pipe( flatMap((result) => {
if (result) { return of(result); } else {return of([]);}
}));
我觉得你需要做一个手工链,类似于这样的。
const getValueFromServer$ = req1$.pipe(flatMap => result ? of(result) : firstFallback$);
const firstFallback$ = req2$.pipe(flatMap => result ? of(result) : secondFallback$)
const secondFallback$ = req3$.pipe(flatMap => result ? of(result) : req4$)
getValueFromServer$.subscribe(console.log)