Я работаю на перехватчике Angular. В перехватчике мне нужно перед отправкой любых не-GET-запросов отправить GET-запрос, чтобы получить заголовок с сервера, и установить этот заголовок для всех запросов. Есть ли способ, которым я могу сделать это? ниже мой псевдокод:
public intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return this.sendRequest(request, next);
}
private sendRequest(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
this.httpClient.get('/my/end/point', { observe: "response" })
.subscribe(res => {
const header = res.headers.get('SOME_HEADER');
//set the header on request and send it
//first send request
return this.processRequest(request, next);
});
// second process request
return this.processRequest(request, next);
}
Что я вижу и ожидаю, так это то, что обработка протекает через подписчика, а затем, поскольку она еще не возвращена, она переходит ко второму оператору запроса процесса. Есть ли способ, которым я могу заблокировать все последующие http-запросы до тех пор, пока наблюдаемые результаты не будут возвращены?