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

235
Visualizações
¿Hay alguna forma de hacer que mi código espere unos segundos antes de ejecutar el siguiente fragmento de código? (Solicitudes API por límite de segundo)

setTimeout() no parece funcionar, y he leído por qué y lo entiendo. Algo acerca de que es asíncrono, por lo que no retrasa la ejecución de las otras funciones en su código. Entonces, ¿cómo puedo hacer que espere unos segundos antes de enviar otro axios.request? Y la razón por la que pregunto sobre esto es porque la API que estoy solicitando solo permite una solicitud por segundo.

 setTimeout(function () { axios.request(options).then(function (response) { for (let i = 0, l = response.data["result"].length; i < l; i++) { var obj = response.data.result; console.log(response.data.result[i].hash); } options.params.term = obj[1].hash options.params.func = 'dehash' setTimeout(function () { axios.request(options).then(function (response2) { message.reply(termargs + " passwords:" + '`' + JSON.stringify(response2.data.found) + '`'); }); }, 1250); options.params.term = obj[2].hash setTimeout(function () { axios.request(options).then(function (response3) { message.reply(termargs + " passwords:" + '`' + JSON.stringify(response3.data.found) + '`'); }); }, 1250); options.params.term = obj[3].hash setTimeout(function () { axios.request(options).then(function (response4) { message.reply(termargs + " passwords:" + '`' + JSON.stringify(response4.data.found) + '`'); }); }, 1250); }).catch(function (error) { message.reply("There was an error!" + '`' + 'Couldnt find user.' + '`'); console.log(error); }); }, 1250);

Voy a reiterar el hecho de que soy nuevo en Javascript, y esto de la función de no esperar realmente hace que se me encojan los dedos de los pies, ya que lo uso todo el tiempo en el otro lenguaje de programación llamado Lua.

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

0

Una vez que esté ejecutando funciones asíncronas, necesitará usar async/await para hacer eso, setTimeout/Sleep no funcionará.

si desea que una solicitud finalice al pasar al siguiente código, puede hacerlo de esta manera:

 async function funcName(){ const result = await axios.request(options).then(function (response2) { message.reply(termargs + " passwords:" + '`' + JSON.stringify(response2.data.found) + '`'); }); const result2 = await axios.request(options).then(function (response2) { message.reply(termargs + " passwords:" + '`' + JSON.stringify(response2.data.found) + '`'); }); } funcName();

en este ejemplo primero terminará el resultado 1, luego irá a resolver el resultado 2...

Aquí están los documentos: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await

about 4 years ago · Juan Pablo Isaza Relatório

0

Si desea utilizar setTimeout, debe buscar el hilo que he vinculado este hilo.

Si no te funciona, también puedes probar el método de suspensión.

 sleep(ms).then(() => { })
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