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

150
Vistas
¿Cómo forzar a mi extensión de Chrome a esperar hasta que finalice una solicitud para enviar otra solicitud?

Estoy creando una extensión de Chrome que funciona en un sitio web determinado para automatizar algunas tareas en el sitio web, la extensión toma una serie de datos y los envía uno por uno (simula hacer clic en un botón en el sitio web que envía los datos al backend), así que estoy automatizando esa tarea repetitiva asíncrona.

pero el problema es que no obtengo ningún dato del sitio web después de hacer clic en el botón Enviar porque no soy el propietario ni el desarrollador que creó ese sitio web

El sitio web es como una librería, debe buscar el libro por nombre y luego seguir trabajando con el libro, mi extensión trata de automatizar este proceso, por lo que en lugar de buscar el libro desde la interfaz de usuario del sitio web, la extensión tiene muchas entradas que aceptan varios nombres de libros y luego enviar esta colección al backend del sitio web imitando hacer clic en un botón de envío en la interfaz de usuario del sitio web

Mi problema aquí es que tengo una función que funciona con cada elemento de la colección una vez que hago clic en un botón en la extensión después de agregar algunos nombres de libros, pero el problema es que necesito esperar en cada ciclo hasta que el sitio web encuentre el libro, así que tengo un paso asíncrono aquí y este es mi problema real, necesito esperar a que se complete la función de búsqueda de libros y luego puedo hacer el trabajo adicional

 //extension add books button const addBooks = document.getElementById('add-books'); //books collected from changing the extension inputs let bookCollection = [{...}, {...}, {...}] addBooks.addEventListener('click', async () => { for (let drug of collectedDrugs) { let { name, code, price } = book; //trying to await the website find the book await getBook(name); await addBook(price, qty); } })

Desafortunadamente, esto no funciona y esta función debería funcionar con cada elemento de la colección esperando que finalice el paso asíncrono, complete la función y luego repita el mismo ciclo con otro libro, ¿cómo puedo arreglar este código para que funcione?

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

0

Tiene que mover su llamada de función asíncrona a un proxy que está fuera del oyente porque el ecosistema eventListener nativo es un poco heredado y no es compatible con la nueva función asíncrona:

 function getBook(name){ console.log("getBook", name); } async function getBookProxy(name){ await getBook(name); } document.body.addEventListener('click', () => { getBookProxy("bob"); });
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