Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

128
Vistas
El mensaje angular se activa antes de que se realice la llamada de servicio

En mi aplicación, tengo un botón que permite a los usuarios calcular algunos datos cuando se hace clic en él. Para hacer el cálculo, se llama a un servicio desde el back-end. Una vez que el servicio finaliza el cálculo, se muestra un mensaje que dice "Terminado". Pero el mensaje aparece mucho antes de que el servicio finalice el cálculo. Aquí está mi código, ¿cómo puedo solucionarlo?

 sendCalculateMaterialPlanDetail() { this.confirmDialogRef = this._dialog.open(FuseConfirmDialogComponent, { disableClose: false, }); this.confirmDialogRef.componentInstance.confirmMessage = "Will start to calculate."; this.confirmDialogRef.afterClosed().subscribe((result) => { if (result) { this._productionService .sendCalculateMaterialPlanDetail(this.materialPlan) .subscribe((response: IMaterialPlan) => { this.materialPlan = response; }); } this._messages.Show( "DONE", "DONE", 3 ); }); }
about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

sendCalculateMaterialPlanDetail() { this.confirmDialogRef = this._dialog.open(FuseConfirmDialogComponent, { disableClose: false, }); this.confirmDialogRef.componentInstance.confirmMessage = "Will start to calculate."; this.confirmDialogRef.afterClosed().subscribe((result) => { if (result) { this._productionService .sendCalculateMaterialPlanDetail(this.materialPlan) .subscribe((response: IMaterialPlan) => { this.materialPlan = response; this._messages.Show( "DONE", "DONE", 3 ); }); } }); }

muestra el texto dentro de la suscripción interna (controlador de resultados del servicio)

about 4 years ago · Santiago Trujillo Denunciar

0

Puede usar las palabras clave await y async

 async sendCalculateMaterialPlanDetail() { this.confirmDialogRef = this._dialog.open(FuseConfirmDialogComponent, { disableClose: false, }); this.confirmDialogRef.componentInstance.confirmMessage = "Will start to calculate."; this.confirmDialogRef.afterClosed().subscribe((result) => { if (result) { /////////////////////////////////////////////////here await this._productionService .sendCalculateMaterialPlanDetail(this.materialPlan) .subscribe((response: IMaterialPlan) => { this.materialPlan = response; }); } this._messages.Show( "DONE", "DONE", 3 ); }); }
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda