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

201
Vistas
¿Cómo puedo llamar a una función para cada elemento de la matriz PERO NO hacer que se ejecuten todos al mismo tiempo?

Me sorprendió no poder encontrar un ejemplo de esto en ninguna parte, estoy seguro de que hay uno, pero parece que me está costando mucho encontrar uno.

Tengo una serie de enlaces... const array = ["www.google.com", "www.yahoo.com", "www.disney.com"];

y una función que toma un enlace y va a la página y hace algunas cosas y luego se cierra con una resolución. Quiero ejecutar la función usando cada elemento de la matriz, pero no quiero que las funciones se ejecuten todas a la vez.

array.forEach((item) => { functionThatUsesArrayData(item) }) pero esto ejecuta cada raspador a la vez.

En una función, me gustaría poder usar una matriz de enlaces y pasar cada enlace a la función, pero ejecutarlos uno a la vez ... así que cuando el primer enlace termine de rasparse, el siguiente elemento de la matriz se usará en un funcionar y ser raspado.

function(arrayItem).then(()=> function(arrayItem2)).then(()=> function(arrayItem3); Algo como esto... Siento que debería poder hacer esto con promesas, pero simplemente no puedo parece darse cuenta.

Este es un pequeño ejemplo... el código real que tengo es un raspador web que tiene una serie de enlaces para raspar, pero no quiero tener 10 páginas de titiritero raspando a la vez, necesito que suceda una tras otra. ¿Algunas ideas? ¡Gracias!

 async function functionThatUsesArrayData(link) { const chromeOptions = { headless: false, slowMo: 60, defaultViewport: null, args: ["--no-sandbox", "--disable-setuid-sandbox"], }; const promise = new Promise(async (resolve, reject) => { const browser = await puppeteer.launch(chromeOptions); const page = await browser.newPage(); await page.goto(link); await browser.close(); resolve(setTimeout(() => { console.log(" TASKS FINSIHED COMPLETED") }, 3000)) }) console.log(promise) } functionThatUsesArrayData()```
about 4 years ago · Juan Pablo Isaza
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