JavaScript - ¿ Por qué no puedo ver el valor de esta variable ?

 
Vista:
Imágen de perfil de David
Val: 18
Ha disminuido su posición en 13 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

¿ Por qué no puedo ver el valor de esta variable ?

Publicado por David (16 intervenciones) el 09/12/2014 17:10:49
¿ Alguien me puede decir por qué no puedo ver el valor de la variable nbre_provincia_actual al final de este script https://bpaste.net/show/36ce52365d05 ?

La variable nbre_provincia_actual tiene un valor, ese no es el problema. Símplemente se trata de que el valor "llegue" al final del script y mediante document.write pueda imprimirlo.

Ya declaré la variable como global pero no funciona.

Gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
Imágen de perfil de Samuel

¿ Por qué no puedo ver el valor de esta variable ?

Publicado por Samuel (1 intervención) el 09/12/2014 17:49:51
Aquí está una versión arreglada del código anterior:

https://bpaste.net/show/a697bc28e6ae


La variable llega al final del script, pero hay que tener en cuenta que estamos usando los datos de un servidor remoto, y que procesar la solicitud para obtener el valor se tarda varios segundos.

La variable se recupera, pero esto se hace dentro de una función que la recupera exactamente cuando el servidor la envía.

En cambio, el document.write al final del documento se ejecuta de forma instantánea, mucho antes de completar la solicitud, cuando esta apenas inicia.

Así que la única solución es llevar a cabo otras acciones dentro de la función original, como muestro en el ejemplo. En lugar de imprimir la variable podríamos llamar a otra función para que la procese.

El truco está en actuar usando la variable, pero no antes de que el servidor responda, y ese es el problema actualmente, que se está leyendo la variable muchos segundos antes de que el servidor la haya recuperado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar