【发布时间】:2022-01-04 02:40:25
【问题描述】:
我有这个请求,当 hasProcessado == true 执行 10 个请求并发出最后一个请求时,如果它失败了,则再发出 3 个请求。
但是当我发出最后一个请求时,我需要用不同的标头通知后端
我的要求:
public getProfitability(): Observable<Profitability> {
let result = this.http.get<Profitability>(this.configService.generateNewUrl(`${environment.api.newEndpoints.profitability}`), {headers: this.configService.concatenateHeaders()})
return result
.pipe(
concatMap(res => iif(() => res.hasProcessed,
of(res),
interval(500).pipe(
take(10),
concatMap(() => result),
tap(result => console.log(result)),
)
)),
retryWhen(
error =>
error.pipe(
tap(() => console.log("error occurred getProfitability() ")),
delay(500),
take(3),
)
),
shareReplay(1),
last()
);
}
我想在标头pullingOk = true中用一个参数通知后端
类似的东西:
private pullingPerfilInvestidor(): Observable<PerfilInvestidor> {
let result = this.http.get<PerfilInvestidor>(this.configService.gerarUrlNovo(`${environment.api.endpointsNovos.obterPerfil}`), {headers: this.configService.concatenarHeaders()})
return result
.pipe(
concatMap(res => iif(() => !res.hasProcessado,
of(res),
interval(500).pipe(
take(10),
concatMap(() => result),
// tap(result => console.log(result)),
)
)),
retryWhen(
error =>
error.pipe(
tap(() => console.log("error occurred ")),
delay(500),
take(3),
)
),
shareReplay(1),
last()
return this.http.get<Profitability>(this.configService.generateNewUrl(`${environment.api.newEndpoints.profitability}`), {headers: this.configService.paramOk())})
);
}
【问题讨论】:
-
那么问题/问题是什么?
标签: javascript angular typescript rxjs