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

1 Respuesta

54.830 pts. Desarrollador en Todoexpertos.com y Terminis.com (uno...

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