для получения дополнительной информации.
аю приложение Angular 4. Компоненты подписываются на Observable. Иногда Observable называют одним и тем же URL. Например, «обновить токен доступа», если необходимо, перед любым http-запросом. Но если я сделаю 3 разных http запроса, он "обновит при необходимости" 3 раза токен обновления.
Так как же заставить только один http получить обновленный токен доступа и заставить другие наблюдаемые «ждать» первого? (Я знаю, что «ждать» - не самое подходящее слово для Observables).
public get(url: string, options?: RequestOptionsArgs): Observable<Response> {
return this.getAccessToken().mergeMap(accessToken => {
return this.http.get(url, options);
});
}
// А также
this.get('www.myapi.com/one').subscribe(data=>console.log('one',data))
this.get('www.myapi.com/two').subscribe(data=>console.log('two',data))
this.get('www.myapi.com/three').subscribe(data=>console.log('three,data))