Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

115
Vistas
Actualizar var global con setInterval no funciona

Estoy creando un juego con Phaser 3. Tengo una llamada ajax que quiero hacer cada segundo para obtener datos del jugador así:

 //Var is globally declared var player1type; create() { setInterval(function() { function gameWaitingroom(getWaitingroom) { $.ajax({ type: "GET", url: '../includes/waitingroomcheck.php', cache: false, success: getWaitingroom }); } // resolve/success callback gameWaitingroom(result => { try { var waitingRoomData = JSON.parse(result); } catch (error) { console.log('Error parsing JSON:', error, result); } //status = waitingRoomData.statusCode; player1type = waitingRoomData.player1type; console.log("INSIDE INTERVAL: "+player1type); }); },1000); console.log("OUTSIDE INTERVAL: "+player1type); }

Mi consola dice así:

 INSIDE INTERVAL: user OUTSIDE INTERVAL: undefined

¿Por qué var player1type no está definido fuera de setInterval, pero funciona bien dentro, aunque lo he declarado globalmente?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Esto se debe a que cuando el script se ejecuta por primera vez, el código en setInterval() tardará 1 segundo en ejecutarse, mientras que el que está fuera se ejecutará instantáneamente. Así que para el momento console.log("OUTSIDE INTERVAL: "+player1type); se ejecuta, su valor será undefined , eso se debe a que player1type = waitingRoomData.player1type; todavía estará esperando que se ejecuten 1s.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda