Я пытаюсь показать анимацию загрузки в Angular 10, пока я извлекаю данные. Я могу показать анимацию загрузки, если использую определенное значение времени, но я не могу показать ее только во время сбора данных. Пожалуйста, посмотрите фрагмент моего кода ниже. Вместо того, чтобы вручную вызывать анимацию загрузки, я бы хотел, чтобы она запускалась только во время работы функции «getAllDocuments». Иногда мое жестко запрограммированное значение времени слишком короткое, а другие слишком длинные. Я хотел бы, чтобы это было правильно каждый раз.
ngOnInit() {
this.getAllDocuments();
this.triggerLoadingAnimation(12);
}
ngAfterViewInit(): void {
this.dataSource.sort = this.sort;
this.dataSource.paginator = this.paginator;
}
public triggerLoadingAnimation(num){
this.spinner.show();
setTimeout(() => {
this.spinner.hide();
}, num*1500);
}
async getAllDocuments() {
this.repoService.getData('/api/Prometheus/Documents')
.subscribe(res => {
this.dataSource.data = res as Document[];
})
}