el problema está en q el script sigue y no espera a q la funcion termine con lo q no le da tiempo a recibir el valor y no hace bien la comparacion...
a parte de hacer un "sleep"...
hay algún otro modo a obligar a javascript a esperar a q termine la funcion llamada para contunuar con el resto del script?
el script seria una cosa así...
Código HTML:
var val = funcion() if(val == 1) { ..... }