Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

148
Views
Función asíncrona de javascript, la persona que llama no espera. manifiesto V3

NO borre mi pregunta. Revisé la web, las documentaciones, no sé por qué sucede esto y eliminar la pregunta NO ayuda. No hay otras preguntas similares a la mía.

Aquí va. A continuación se muestra cómo creo que debería suceder. Pero incluso con toda la sintaxis de async away promis que coloco allí, no sucede. Cuando se llama a la función asíncrona, nadie espera a que termine. No sé qué más hacer, excepto conectar en cadena todo bajo la función asíncrona que estoy tratando de evitar. Ayuda por favor.

Intenté usar tabs= await getcurrenttab() , pero eso provoca un error que dice que solo funciona en funciones asíncronas. Que el oyente no es.

ingrese la descripción de la imagen aquí

manifiesto.json

 { "manifest_version": 3, "name": "DHL Helper", "description": "This helper helps DHL's quality of life, improves mental health.", "version": "1.0", "action": { "default_icon": "icon.png", "default_popup": "popup.html" }, "content_scripts": [{ "matches":["*://servicenow.*.com/*", "http://*/*", "https://*/*"], "js": ["content_helper.js"] }], "permissions": [ "activeTab" ], "host_permissions": [ "http://www.blogger.com/", "*://*/*" ] }

emergente.js

 document.addEventListener('DOMContentLoaded', function() { console.log('got tabs id'); tab = getCurrentTab(); console.log('Active tab ' + tab.id); }); async function getCurrentTab(){ console.log('trying to get tabs id'); let queryOptions = {active: true, currentWindow: true}; return await chrome.tabs.query(queryOptions) .then((tabs) => { console.log('Obtained tab ID'); console.log(tabs); return tabs[0]; }) .catch((Error) => { console.log('it failed'); console.error; return; }) }
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

document.addEventListener('DOMContentLoaded', async function() { console.log('got tabs id'); tab = await getCurrentTab(); console.log('Active tab ' + tab.id); });

Su enfoque ya era correcto, pero si desea usar await en la función await, también debe hacer que la función de ejecución sea asíncrona.

about 4 years ago · Juan Pablo Isaza Report

0

el usuario menciona que intenta usar =await getCurrentTab() pero encuentra un error que await es solo para funciones asíncronas...

agregar async a la función de escucha de eventos solucionó el problema

cambia esto:

 document.addEventListener('DOMContentLoaded', function() {

a esto:

 document.addEventListener('DOMContentLoaded', async function() {
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!