当我得到授权错误时如何在我的请求中设置新的参数
myFunc(param): Observable<Visit[]> {
return this.http.get(this.url?session='+param
).pipe(map(data => {
let visitsList = data['visits_grid']
return visitsList.map(function(visit:any) {
return {name: visit.client_facility, date: visit.date_start, hash: visit.hash}
})
}),
retryWhen(error => error.pipe(delay(500), take(3))))
}发布于 2021-02-08 23:45:10
尝试使用两个函数并使用switchMap
import { switchMap } from 'rxjs/operators';
....
myFunc(param): Observable<Visit[]> {
return this.makeApiCall().pipe(
retryWhen(error => error.pipe(
delay(500),
take(3),
switchMap(_ => this.makeApiCall({}))), // new param
);
}
private makeApiCall(param) {
return this.http.get(this.url?session='+param
).pipe(map(data => {
let visitsList = data['visits_grid']
return visitsList.map(function(visit:any) {
return {name: visit.client_facility, date: visit.date_start, hash: visit.hash}
})
}));
}https://stackoverflow.com/questions/66101438
复制相似问题