У меня есть Angular 8 веб-приложение с NgxSpinner . Я использую его для блокировки пользовательского интерфейса, когда выполняется какой-то длительный процесс, чтобы предотвратить взаимодействие пользователей со сложными формами, в то время как некоторые части еще не полностью загружены.
Проблема в том, что NgxSpinner сразу скрывается, если какой-то процесс вызывает hide
, независимо от того, существует ли еще один процесс с его собственной парой вызовов show/hide
. Таким образом, веб-страница разблокируется слишком рано, когда какой-либо более короткий процесс был завершен, и вызвал spinner.hide()
.
Вот пример Stackblitz .
Как сделать Я заставляю NgxSpinner ждать, пока последние hide
совпадут со всеми show
вызовами?
PS Кажется, проблема со многими библиотеками блоков пользовательского интерфейса, которые я пробовал - они просто не учитывают для параллельных процессов, вызывающих show/hide
несколько раз.