gpt4 book ai didi

angular - 使用 Angular/RXJS 一个接一个地发送两个 HTTP 请求,其中第二个请求需要第一个?

转载 作者:行者123 更新时间:2023-12-04 03:02:36 24 4
gpt4 key购买 nike

目前我的代码是通过将可观察对象嵌套在彼此内部...

makeRequest() {
return this.http.get().map((response: Response) => {
return this.http.get(response.doSomething());
}
}

当我需要使用它时,我也使用嵌套订阅它们......

我很确定这不是正确的方法,现在我需要一种方法来做一些事情:

-> 发出请求 -> 检查回复 -> 如果回复表明 token 已过时 -> 获取新 token 并再次请求 -> 否则传递结果

实现此目标的推荐方法是什么?

非常感谢,

最佳答案

使用 flatMap 或 switchMap 并有条件地返回不同的 Observable

auth() {
return this.http.get().flatMap((response: Response) => {
if (token not expire....) {
// pass on the response
return Observable.of(response)
}
return this.http.get(response.getToken()).mapTo(Observable.throw('Retry'));
}).retry()
}

关于angular - 使用 Angular/RXJS 一个接一个地发送两个 HTTP 请求,其中第二个请求需要第一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47828453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com