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

204
Visualizações
¿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 à 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