Передать данные в HttpInterceptor после его инициализации

У меня есть перехватчик, которому я хотел бы передать данные после его загрузки.

В частности, мое приложение можно использовать как в аутентифицированном, так и в неаутентифицированном состоянии. Если использовать аутентификацию, я хотел бы передать токен авторизации перехватчику, чтобы он мог обрабатывать добавление токена в заголовки для каждого последующего запроса.

Я попытался сделать перехватчик инъекционным и просто сделал что-то вроде this.interceptor.auhToken = token, но акт инъекций, кажется, создает другой экземпляр перехватчика.

Мой перехватчик предоставляется как таковой

{
  provide: HTTP_INTERCEPTORS,
  useClass: MainInterceptor,
  multi: true,
}

person americanslon    schedule 01.08.2019    source источник


Ответы (1)


Не используйте useClass. Используйте useExisting.

В противном случае вы действительно дважды регистрируете класс перехватчика под двумя разными токенами.

person JB Nizet    schedule 01.08.2019