Как запустить перехватчик из основного app.module.ts перед перехватчиками, предоставленными другими модулями - PullRequest
0 голосов
/ 13 февраля 2019

Я использую Angular 5.2.У меня есть перехватчик для перехвата ответов, возвращающихся несанкционированно, так что пользователю при необходимости может быть показан экран входа в систему, а затем запрос может быть повторен.

Под провайдерами у меня есть:

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

Я также использую BlockUIHttpModule, чтобы экран пользователей блокировался во время большинства запросов http.

BlockUIHttpModule.forRoot({
    requestFilters: [BlockUIFilterFunction]
}),

Проблема, с которой я сталкиваюсь, заключается в том, что если запрос http отправляется и возвращается с 401 и учетными данными, имеющимиистек, запрос не завершен.Отображается экран входа в систему.Как только пользователь входит в систему, запрос повторяется и завершается.

Однако, поскольку перехватчик BlockUIHttpModule запускается до UnAuthorizedInterceptor, BlockUI продолжает блокировать.Я хотел бы запустить перехватчик из BlockUIHttpModule после моего перехватчика.

Я открыт для обновления angular до более поздней версии, если это поможет.Я смотрел на другие предложения, но обычно перехватчики предоставляются в порядке внутри поставщиков.

...