Tengo un fragmento de código que contiene varias solicitudes http que están suscritas. Aquí hay un ejemplo de cómo se ve una de esas funciones de suscripción:
this.http.post<any>(url, body).subscribe({ next: data => { console.log(data); } });
Pero dependiendo de la entrada del usuario, no siempre se usan (por lo que a veces hay algunos que no son accesibles). Una vez realizadas todas las suscripciones que fueron necesarias, se debe llamar a una función. Llamemos a esa función subscribesDone()
.
¿Cómo ejecuto esa función solo después de que se hayan realizado todas las suscripciones (aunque hay algunas funciones de suscripción que no se utilizan, dependiendo de la situación)?
Esta no es una respuesta muy "adecuada", sino una forma de hacerlo hasta que otros den mejores respuestas:
haga una matriz de valores booleanos, uno para cada llamada http, todo verdadero. Si se realiza una llamada, establezca su ranura de matriz en falso y vuelva a establecerlo en verdadero cuando regrese. Cada retorno, después de establecer el valor correcto en verdadero, verifique si todos los booleanos son verdaderos. Si todo es cierto, haz la función final.