Вот как я реализую 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)", я показываю загрузку, только если условие верно. Но у нас должен быть возврат для метода перехвата, верно?
Поэтому я поместил "возврат" вне этого условия.
Этот возврат вызывает проблему, и поэтому загрузка исчезает.
Итак, как я могу исправить для такой сценарий?