Al pasar una ID durante 60 segundos como carga útil en una API para obtener el estado de una transacción. La API dará los estados Progreso, Completado y Fallido. Si la respuesta es "Progreso", debe ejecutar el temporizador hasta "Éxito" / "Fracaso" y debe salir del temporizador.
1. Los problemas en este momento son que incluso si la API da "Éxito" / "Fracaso", no saldrá del temporizador y seguirá cargando durante un minuto.
2. Si la API falla, estará en un ciclo sin fin.
Intenté agregar enrutamiento después de que la respuesta fuera "Éxito"/"Error" para eso también está esperando 60 S.
intervalVal=interval(50000) checkstatus(id) { this.timeInterval = this.intervalVal.subscribe(() => { this.transactionstat(id).subscribe((statres: any) => { switch (statres.status) { case "progress": this.stepper.selectedIndex = 0; case "Sucess": this.steppershow = false; this.stepper.selectedIndex = 1; this.stepper.selectedIndex = 2; this.timeInterval.unsubscribe() setTimeout(() => { this.router.navigateByUrl("/home"); }, 3000); break; case "Failed": this.stepper.selectedIndex = 1; this.stepper.selectedIndex = 3; this.timeInterval.unsubscribe() setTimeout(() => { this.router.navigateByUrl("/home"); }, 3000); break; } }) }); }Mi requisito es salir del temporizador después de la respuesta deseada, no esperar el minuto completo y salir del temporizador después de un minuto. Ayuda con tus valiosas sugerencias.