Orden de ejecución en javascript

Estimados tengo las siguientes líneas:

linea 1 : var z = 1;

Linea 2 : var z = mifuncion(z, x) // en esta funcion trae de vuelta nuevo valor para variable z

linea 3 : alert(z) ;   me indica    undefined

* Dentro de la función tengo un alert donde verifico el return x con el nuevo valor, pero por alguna razón antes de esto, ya se me esta ejecutando el alert(z) y después me sale el alerta dentro de la función... Como si se ejecutara línea 1, línea 3 y línea 2...

1 respuesta

Respuesta
1

La única posibilidad de que esto pasa es que el método mifuncion sea asíncrono por lo que el flujo de ejecución continúe en la línea 3.

Si tu función es asíncrona y el resto de tu código requiere respuesta de la misma podrías:

  • Poner el código dependiente como callback de mifuncion para que se ejecute tras finalizar la petición asíncrona.
  • Lanzar un evento al finalizar la ejecución asíncrona y recogerlo en un método de respuesta fuera para continuar la ejecución.
  • Usando Promises: https://www.promisejs.org/

En cualquier caso te recomiendo que uses una herramienta de depuración de javascript (como las de Chrome, por ejemplo) para ejecutar el código paso a paso y poder determinar correctamente donde está el problema

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas