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

126
Vistas
¿Por qué no puedo actualizar las variables en esta clase de JavaScript?

Estoy escribiendo una clase de JavaScript para un objeto que obtendrá datos a través de ajax en la creación. El objeto y sus datos recuperados estarán disponibles para su uso más adelante.

El problema es que las variables no se actualizan con nuevos valores de la llamada ajax. Permanecen en los valores en los que fueron iniciados.

Aquí hay un ejemplo simplificado de mi código:

 class Foo { constructor() { this.bar = 0; this.makeAjaxCall(); } makeAjaxCall() { jQuery.get( // ajax logic ) .done( function(response) { this.bar = response.bar; } ); } } var bax = new Foo(); console.log(bax.bar); // outputs 0

Confirmé que se produce la llamada ajax, tanto a través del monitor de red como mediante el registro de la variable de respuesta en la consola. Es solo que el cambio de valor de la variable no se "pega". Esto también ocurre con el código más adelante, por lo que no creo que el problema sea que inicie sesión antes de que se complete la llamada ajax.

Sospecho que esto está relacionado con enlaces tardíos en JavaScript, pero no he podido entenderlo. Esto es lo que probé en ese ámbito (no funcionó):

 var bax_unbound = new Foo(); var bax = bax_unbound.bind(Foo); console.log(bax.bar); // still outputs 0
about 4 years ago · Juan Pablo Isaza
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