tengo 2 funciones y me gustaria llamar una tras otra
mainFunction(){ this.service1.abc(); this.xyz(); }
this.service1.abc está realizando una llamada API para obtener y configurar algunos datos en el almacenamiento local y, en función de eso, this.xyz está utilizando ese valor de almacenamiento local. Comportamiento actual: se llama a this.xyz() antes de completar this.service1.abc(), etc. El almacenamiento local no se está configurando.
La función de servicio API no devuelve ningún observable,
dado que la función de llamada API es asíncrona, no puede simplemente llamarla en cierto orden y esperar que se ejecute en ese orden.
si su función de Servicio API devuelve una promesa, puede hacer algo como esto:
async mainFunction() { await this.service1.abc(); this.xyz(); }
lo que hará que la función espere hasta que su llamada asincrónica haya terminado y luego continúe para ejecutar la función XYZ.
si su función de servicio API devuelve un observable, entonces puede simplemente suscribirse y activar su función xyz de esa manera:
mainFunction(){ this.service1.abc().subscribe(res => { this.xyz(); }) }