Angular 4 - Показывать загрузчик при загрузке каждой страницы и скрывать после того, как весь запрос API будет выполнен - PullRequest
0 голосов
/ 12 сентября 2018

Я работаю над этим угловым проектом с несколькими модулями.Я пытаюсь показать загрузчик при загрузке каждой страницы и скрыть загрузчик только после того, как запрос на все вызовы API для этой страницы завершен.
Что происходит сейчас в проекте, когда компонент загружен, то несколькоВызовы API выполняются onInit (), а некоторые другие вызовы API выполняются для загрузки различных сервисов, которые были вызваны компонентом.Таким образом, моя проблема не будет решена только показом загрузчика сразу после вызова onInit и скрытием его после того, как весь запрос будет выполнен.

С ссылкой из этого поста - Angular HTTP Interceptor - Показать счетчикв многомодульном приложении

Я также пытался использовать угловой перехватчик, но это также не дает полного решения, потому что перехватчик выполняет свою работу для каждого HTTP-запроса, и я не могу показать и скрыть загрузчик длявсе просьба сразу.Результат будет выглядеть следующим образом:
Показать
Скрыть
Показать
Скрыть
Показать
Скрыть
как показано для загрузки одной страницы, если я использую перехватчик.
Нужна рекомендация о том, что я должен делать здесь?

1 Ответ

0 голосов
/ 12 сентября 2018

Я не могу дать вам общее количество, как вы должны это сделать, но некоторые идеи, чтобы получить его.

Я бы построил службу очереди, в которой вы можете добавлять все запросы и обрабатывать их.Эта служба может иметь тему queueStart rxjs и queueDone.

С обоими субъектами вы можете обращаться извне, когда хотите начать обработку и когда это будет сделано.По завершении вы подписываетесь и останавливаете свой счетчик.В стартовой теме вы вызываете свой счетчик.Делайте это в каждом компоненте onInit (), который вам нужен.

...