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

139
Vistas
cómo hacer esperar en una llamada de búsqueda en javascript

quiero hacer una pausa de 1 segundo en una llamada de búsqueda y no funciona, el código es este:

 async function sendStats(image, endimage, chat, id) { let finalimage = image + endimage; fetch(finalimage) .then(res => { if (res.ok) { res.body.pipe(fs.createWriteStream('./imgs/image.png')); bot.sendPhoto(chat, finalimage); } else { finalimage = image + "i" + endimage; fetch(finalimage) .then(res => { if (res.ok) { res.body.pipe(fs.createWriteStream('./imgs/image.png')); bot.sendPhoto(chat, finalimage); } else { bot.sendMessage(chat, "spiacenti ma non abbiamo un immagine di questo mostro :("); } }) } let mstr = mostri.filter(x => x.id == id); let desc = mstr[0].description; let elements = mstr[0].elements; await sleep(1000); bot.sendMessage(chat, desc); }) .catch((err) => { console.log(err) }); } function sleep(ms) { return new Promise((resolve) => { setTimeout(resolve, ms); }); }

quiero enviar el bot.sendmessage de desc después de sendphoto porque ahora está invertido y no me da mensajes de error

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

0

El problema con su código es que está utilizando la palabra clave await sin una función async .


Creo que es posible que te hayas confundido con esta función async al usar la palabra clave await con sleep() .

 async function sendStats(image, endimage, chat, id) {}

El problema es que su función sleep() está dentro de otra función, por lo que la función sendStats() no ayudará con su palabra clave await .


La solución para este problema es agregar una palabra clave async a la función en la que se encuentra la función sleep() .

 fetch(finalImage) .then(async (res) => { await sleep(1000); });

La línea 2 ha sido modificada.

La razón por la que esto funciona es porque la función en la que se encuentra la palabra clave await tiene la palabra clave async agregada a la función, lo que especifica que la función tiene una tarea asíncrona.


En conclusión, el problema con su código fue que olvidó agregar la palabra clave async a la función que await allí.

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