Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

196
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda