Я хотел бы ответить на свой вопрос, чтобы можно было обратиться к решению вышеуказанного вопроса / проблемы.
Во-первых, объявите глобальную переменную (инициализируйте ее как 0), используемую в качестве счетчика для активной службы. звонки.
Во-вторых, для каждой перехваченной услуги счетчик приращений (переменная счетчика) и когда вызов службы завершается, уменьшают счетчик (переменная счетчика).
Наконец, если счет службы равен нулю скрыть еще счетчик показывает счетчик.
Пример: определение службы перехватчика в целом для перехвата HTTP-запросов. После этого в службе перехватчика:
service_count = 0; // counter globally initialized.
constructor(
private _route:Router
) {}
intercept(req: HttpRequest<any>, next: HttpHandler):Observable<HttpEvent<any>> {
this.service_count++; // increment count for each intercepted http request.
// show spinner.
return next.handle(req).pipe(
finalize(() => {
this.service_count--;
// decreament when service is completed (success/failed both
handled when finalize rxjs operator used)
if (this.service_count === 0) {
// hide spinner
}
})
);
}