buenas...
Cita:
Iniciado por Anarko Sé qu epuede "parecer extraño" pero es que necesito evaluar si hay o no hay error.
Por favor indícame cómo hacer "el truco".
creo que @chwc lo explicó bastante bien. el punto va por el tema del mecanismo de sincronización. para que te hagas una idea, ¿has utilizado javascript para desarrollo web? es decir, para html. más o menos, la sincronización es parecido a los eventos en html.
Código:
<button onclick="foo = 'bar';">click</button>
<script>console.log(foo);</script>
¿qué sucede en este fragmento? el intérprete genera error porque la variable
foo aún no existe debido a que el evento onclick aún no se ha generado. es decir, primero tiene que ocurrir el evento para que
log pueda imprimir el valor en la consola. de forma parecida sucede en nodejs. el console.log de tu código inicial se ejecuta antes del callback crear la variable.
por el contrario, si estuvieras en la consola de nodejs y ejecutaras el código sin el console.log y luego manualmente escribes
console.log(VV), verás que el valor se imprime en la consola. esto porque ya ha pasado un tiempo considerable para el callback ejecutarse. por tanto, la solución es mover el console.log dentro del callback.
fíjate que no he añadido nada... solo he parafraseado lo que te explicó @chwc.