Мой компонент отправляет данные через форму, вызывая процесс импорта БД на сервер. Хотя этот процесс может занять некоторое время, я делаю запросы каждые 3 секунды, чтобы получить информацию, связанную с импортом, и отобразить ее в таблице.
public importProgress = [];
public subscription: Subscription;
onSubmit(submitObj) {
this.checkImportProgress();
this.clientService.beginImport(submitObj).subscribe(
result => {
this.subscription.unsubscribe();
console.log('Import is done!');
},
error => {
this.subscription.unsubscribe();
console.log(error);
}
);
}
checkImportProgress() {
this.subscription = interval(1000).subscribe(() => {
this.clientService.checkImportProgress().subscribe(
result => {
this.importProgress.push(result);
},
error => {
console.log(error);
}
);
});
}
Проблема заключается в том, что при переходе на другой маршрут (оставляя компонент ) процесс пользовательского интерфейса как-то остановлен. Я предполагаю, что это потому, что я инициализирую переменную, в которой я сохраняю процесс импорта, с пустым массивом.
Но как я могу продолжить этот процесс в фоновом режиме?