У меня есть асинхронная работа, выполнение которой занимает много времени.Когда задание начинает выполняться, я установил спиннер и установил тайм-аут на 60000 миллисекунд.Но теперь у нас есть служба уведомлений, которая сообщает статус выполнения задания.Я хочу отключить счетчик при получении сообщения независимо от того, было ли выполнено задание неудачным / пройдено.
Код счетчика с тайм-аутом: -
this.recommendationService
.executeCustomerOpportunityMapper(opportuniyMapperJson)
.subscribe(
response => {
this.isExecuteOppRanking = true;
this.snakbar.statusBar(
"Executing customer opportunity ranking",
"Success"
);
this.spinner.show();
setTimeout(() => {
this.spinner.hide();
this.loadRankedOpportunities(tableMetadata);
this.selectedIndex = 3;
this.isExecuteOppRanking = false;
}, 60000);
Служба уведомления о сообщениях: -
this.messageService.messageReceived$.subscribe(data => {
this.snakbar.statusBar("Platform job status - " + data, "Info");
});
Я хочу, чтобы мой счетчик тайм-аут, когда messageService получает уведомление об успехе / сбое, а не тайм-аут после 60000 мс.