Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/05/2013, 15:45
Avatar de chwc
chwc
 
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 16 años, 4 meses
Puntos: 103
Respuesta: Por favor expliquenme por que no puede crearse una variable GLOBAL

primero que nada, no declaraste la variable VV fuera de la funcion, ya que esa función se ejecuta fuera del ámbito global.
osea, que antes de ejecutar la escritura del archivo, tendrias que inicializar vv
Código Javascript:
Ver original
  1. var fs = require('fs');
  2. var VV = 0;
  3. fs.writeFile('./FFFFFFFFF.txt', "Hey there!", function(err) {
  4.     if(err) {
  5.         VV=123;
  6.     } else {
  7.         VV=987;
  8.     }
  9. });
  10. console.log(VV);

ahora, tenes otro problema mayor, al hacer escrituras en el disco, las operaciónes son asincronas, es por eso que requieren una funcion que se ejecuta luego de la operación

si ejecutas el codigo que te di, la consola va a mostrar 0, ya que como es asincrono, va a continuar ejecutando el console.log, y v a mostrar 0;
para entenderlo mejor, ejecuta este codigo

Código Javascript:
Ver original
  1. var fs = require('fs');
  2. var VV = 0;
  3. fs.writeFile('./FFFFFFFFF.txt', "Hey there!", function(err) {
  4.     if(err) {
  5.         VV=123;
  6.     } else {
  7.         VV=987;
  8.     }
  9. console.log('respuesta asincrona: '+VV)
  10. });
  11. console.log(VV);
__________________
Hangouts de JavaScript todos los jueves 20hs GMT, Unite !
https://plus.google.com/u/0/108504944676960830886