для получения дополнительной информации.

аю приложение 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))

Ответы на вопрос(0)

Ваш ответ на вопрос