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

146
Vistas
Cambiar una var declarada dentro de una función

Necesito ayuda con mi guión. Básicamente, mi problema es que tengo una variable declarada con nulo, luego dentro de una función cambió a algún valor y luego regresó. Pero cuando lo devuelvo, todavía regresa como nulo, no como lo configuré. ¿Alguien aquí para ayudar?

Guion:

 var grade="" var gradeStyle="" var finalColor="" function getSettings(){ chrome.storage.sync.get("grade",function(res){ grade=res.grade }) chrome.storage.sync.get("gradeStyle",function(res){ gradeStyle=res.gradeStyle }) chrome.storage.sync.get("finalColor",function(res){ finalColor=res.finalColor }) return [grade,gradeStyle,finalColor] } export {getSettings};
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Los valores son nulos porque está asignando estas variables dentro de una función de devolución de llamada antes de devolverlas. Significa que los valores de retorno no se asignarán a las variables hasta que las promesas se resuelvan por completo. Para resolver eso, puede usar la sintaxis async-await .

 async function getSettings(){ const grade = await chrome.storage.sync.get("grade").promise(); const gradeStyle = await chrome.storage.sync.get("gradeStyle").promise(); const finalColor = await chrome.storage.sync.get("finalColor").promise(); return [grade,gradeStyle,finalColor] } export {getSettings};

Tenga en cuenta que, para usar la función getSettings ahora, debe llamarla dentro de otra función async , y debe await a que le devuelvan los resultados.

about 4 years ago · Juan Pablo Isaza Denunciar

0

EDITAR:

 var response; function getSettings(){ chrome.storage.sync.get(["grade","gradeStyle","finalColor"],function(res){ response=res; }); return res; } export {getSettings};
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