У меня есть Angular (9) веб-интерфейс с гнездом js backind rest api (в nodejs) Конечная точка, которую я вызываю в бэкэнде, выполняет несколько довольно сложных операций, и для ответа требуется около 2 минут. Во внешнем интерфейсе я использую подписку, чтобы подписаться на ответ, подобный этому:
this.metaService.subscribe(
result => {
//Handle result
},
error => {
this.subscription.unsubscribe();
console.error('Error: ' + error);
},
() => {
this.subscription.unsubscribe();
console.error('Completed');
});
Проблема в том, что во внутреннем интерфейсе он начинает выполнять код снова и снова. Обратите внимание, что он не выполняет HTTP-вызов снова (я вижу это на вкладке сети в инструментах разработчика), он остается в режиме ожидания все время) Кажется, это работает, если я
.pipe(take(1)).subscribe(
затем не выполняет зацикливание в бэкэнде, но сразу завершает подписку (и http находится в состоянии отмены на вкладке сети). Я выполняю это на своем локальном хосте на машине windows (подсистема linux). Версия узла: 12.14.1
Кто-нибудь в чем причина и как это исправить?
-Jani