Com o rxjs 7.5.7, eu retorno uma promessa quando uma solicitação http de pesquisa finalmente retorna true após vários valores false, mas takeUntil nunca é chamado novamente.
Tentei o seguinte código:
return timer(0, 5000).pipe(
takeUntil(this.http.get('https://testapi/isTrue'))
.pipe(filter((isTrue: boolean) => {
return isTrue; // filter method filters false values so they are not emitted
}))
)
).toPromise();
Nota:
https://testapi/isTrue
retorna false várias vezes e true no final.
Mas após a primeira chamada para a solicitação de consulta http this.http.get() iniciada pelo timer cujo resultado da chamada é falso, nada acontece após 5 segundos do timer, nenhum erro, this.http.get() em takeUntil não é mais chamado.
Então o que há de errado com minhas instruções?
Nota 2: A promessa retornada é consumida corretamente