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

465
Visualizações
setTimeout no funciona correctamente en el ciclo while

Necesito que se detenga durante 3 segundos al final de cada ciclo, pero no se detiene. ¿Cómo puedo solucionar esto? Los códigos de ejemplo serían apreciados.

 function file_get_contents(url, callback) { fetch(url).then(res => res.text()).then(text => callback(text)); } function theCallBack(text) { text = text.replace(/google/g, "") let matches = text.match(/www.[az\-]+?.com/g); console.log(matches[0]); }; var theArray = ["https://www.google.com/search?q=one", "https://www.google.com/search?q=two", "https://www.google.com/search?q=three"]; var count = theArray.length; while (count > 0) { console.log(count); count--; file_get_contents(theArray[count], theCallBack); setTimeout(function() {}, 3000); }

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Puede usar una Promise para pausar el programa y await .

 const wait = (ms) => new Promise(resolve => setTimeout(resolve, ms)); function file_get_contents(url, callback) { fetch(url).then(res => res.text()).then(text => callback(text)); } function theCallBack(text) { text = text.replace(/google/g, "") let matches = text.match(/www.[az\-]+?.com/g); console.log(matches[0]); }; var theArray = ["https://www.google.com/search?q=one", "https://www.google.com/search?q=two", "https://www.google.com/search?q=three"]; var count = theArray.length; (async() => { for (let i = 0; i < count; i++) { console.log(i + 1); file_get_contents(theArray[i], theCallBack); await wait(3000); } })();

about 4 years ago · Juan Pablo Isaza Relatório

0

Creo que el problema es la función asíncrona setTineout(), por lo que debe sincronizarla para que funcione como desee.

https://developer.mozilla.org/ru/docs/Learn/JavaScript/Asynchronous/Timeouts_and_intervals

https://stackoverflow.com/a/50357618

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