Вот так я реализую Interceptor, чтобы показать загрузку для всех запросов Http.
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
if(myCondition == true)
{
// my loading start showing here
return next.handle(req).pipe(
finalize(() => {
// I hide my loading here
}) );
}
return next.handle(req).pipe(
finalize(() => { }));
}
, но мой запрос Http содержит много данных, а бэкэнд занимает почти 10 секунд.
Мне просто нужно скрыть загрузку только после завершения операции бэкэнда.
Но, используя приведенный выше код, загрузка скрывается до завершения бэкенда.
Нужно ли обрабатывать HttpRespond, как в этом примере ?
ОБНОВЛЕНИЕ:
Я нашел причину, я обновил свой код.
У меня условие "if (myCondition == true)", я только показывать загрузку, только если условие истинно. Но мы должны иметь возврат для метода перехвата, верно?
Так что я поставил «возврат» вне этого условия.
Этот возврат вызывает проблему, и поэтому загрузка исчезает.
Так как я могу исправить для такой сценарий?