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

198
Vistas
No se puede obtener la matriz de chrome.storage

Cada vez que trato de obtener datos de chrome.storage , devuelve undefined .

 chrome.storage.sync.get('courses', function(result) { currentCourses = result.courses console.log(currentCourses) currentCourses.push(coursename) chrome.storage.sync.set({courses: currentCourses}, function() { alert(`Course "${coursename}" has been added !`) }); }
 userCourses = async () => { await chrome.storage.sync.get('courses', function(result) { return(result.courses) }); } courseData = userCourses() console.log(courseData)

Encontré una respuesta aquí en el desbordamiento de pila, pero está dando el mismo error. Soy nuevo en JS y no me siento cómodo con Promises.

Probé el ejemplo de los documentos oficiales, pero también da el mismo error que se muestra a continuación. ¿Alguien puede ayudarme con una solución o modificar mi código? Error

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

0

Utiliza chrome.storage.sync.get() con una devolución de llamada de finalización. Pero tenga en cuenta que los datos que recupera usando ese método .get() no están disponibles excepto dentro de la devolución de llamada.

 chrome.storage.sync.get(['key'], function(result) { console.log('Value currently is ' + result.key); });

es el ejemplo de los documentos. Es la invocación de una función. Pero esa función siempre y necesariamente devuelve undefined .

Tenga en cuenta que el primer parámetro de .get() es una matriz de claves . Su código carece de la matriz.

El segundo parámetro es la función de devolución de llamada. Se parece a esto:

 function (result) { }

Dentro de la función result.key está la clave que solicitó, y result.value es lo que almacenó en la clave. Está viendo result.courses , que no está definido.

Flujo de control.

  1. La llamada a .get() se completa inmediatamente, siempre.
  2. En algún momento posterior se llama a la devolución de llamada.
about 4 years ago · Juan Pablo Isaza Denunciar

0

Envuelva la llamada al almacenamiento en una promesa y espérela:

 function getStorageValuePromise(key) { return new Promise((resolve) => { chrome.storage.sync.get(key, resolve); }); } await getStorageValuePromise('val');
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