Как обработать запрос на перехватчик после получения значения от наблюдаемого по rxjs и angular? - PullRequest
0 голосов
/ 04 июня 2018

Итак, я учусь на AngularJS, изучая Angular 5, я все еще не могу обернуться вокруг наблюдаемых.

Я пытаюсь написать перехватчик HTTP для моей службы аутентификации.Однако, когда я пытаюсь получить значение из службы localstorage (или любой наблюдаемой на данный момент), я не совсем уверен, как правильно вернуть метод next.handle(req) из наблюдаемой после получения данных (используя подписку?) ​​

Вот мой текущий код (который не работает):

@Injectable()
export class AuthinterceptorService implements HttpInterceptor {

  constructor(private storage: LocalStorage) { }

  intercept(req: HttpRequest<any>, next: HttpHandler):Observable<HttpEvent<any>> {
    return this.storage.getItem('authToken').subscribe(res => {
      return next.handle(req);
    });
  }    

}

Обратите внимание, что я ничего не делаю с данными, просто пытаюсь вернуть объект Observable> из моего асинхронного вызова

Заранее спасибо за помощь

1 Ответ

0 голосов
/ 05 июня 2018

Возвращение наблюдаемого внутри subscribe ничего не сделает.Вы должны слить это в цепочку.Например, как это:

return this.storage.getItem('authToken')
  .mergeMap(res => next.handle(req));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...