我正在向后端api发送http请求。我特意将网址更改为返回503的网址,以便我可以正确处理错误。但是, 503错误响应未在此处返回。
const requestOptions = {
url: "https://httpstat.us//503",
method: "get",
// raxConfig: retryConfig,
};
const $metrics = defer(() => from(axios(requestOptions))));
const metrics = await $metrics.pipe(
map((val: any) => {
if (val.data.metrics.length === 0) {
throw val;
}
return val;
}),
retryWhen((errors) => errors.pipe(delay(2000), take(10))),
).toPromise();
console.log("metrics", metrics)
最后的console.log返回
未定义
我希望看到http承诺的响应,这是503状态错误。
上下文:我正在使用rxjs处理何时重试http请求。数据可能没有准备好(长度=== 0),我重试了10次,直到有数据为止。 map函数内部的逻辑更加复杂,但由于其无关紧要,我省略了其中的一些。