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

138
Vistas
Funciones para ejecutar después de que la función anterior se haya ejecutado por completo

Soy nuevo en reaccionar y estoy atascado en esto. Estoy llamando funciones en una función como esta:

 submit = () => { this.props.getValue(); this.props.resetValidation(); this.notify(); this.props.toggle(); this.props.disable(); this.props.actionCost(); //this.props.action(); // this.props.actionTable(); };

Lo que sucede es que todas las funciones se ejecutan simultáneamente sin que una función se ejecute por completo. ¿Por qué sucede esto si no se debe llamar a una función solo después de que la primera función se ejecute correctamente?

Además, ¿cómo ejecuto las funciones una tras otra después de que una función se haya ejecutado por completo?

Por favor ayuda

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La única forma de detener el flujo de ejecución es mediante el uso de async/await generoator o una función de generador, e incluso estos son solo "azúcar sintáctico" además de Promise .

Probablemente esté llamando a una función asíncrona y esperando que se "complete" sin usar await .

Otra situación es llamar a una función que internamente usa llamadas asincrónicas (como axios o fetch ) y responde con devoluciones de llamada. En esta situación, la ejecución continúa y la devolución de llamada se llamará más tarde, por eso los llamamos "devolución de llamada".

Por ejemplo:

 console.log('before'); setTimeout(() => console.log('timer completed'), 1000); console.log('after');

Resultará en:

 before after timer completed

En este ejemplo, estoy iniciando sesión before , luego establezco un tiempo de espera en el que proporciono una devolución de llamada (una función simple) que se ejecutará más tarde (1 segundo), mientras tanto, el flujo de ejecución continúa y se registra after . una vez que el temporizador llegó, el sistema ejecutará mi devolución de llamada.

En caso de que desee ejecutar el after después de que se timer completed , deberá proporcionar una devolución de llamada que se llamará después de que finalice la ejecución.

como esto:

 function logTimer(doAfter) { setTimeout(() => { console.log('timer completed'); doAfter(); }, 1000); } console.log('before'); logTimer(() => console.log('after'));
about 4 years ago · Juan Pablo Isaza 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