Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

291
Views
¿Debo usar setTimeout() en producción con discord.js?

Estoy trabajando en un bot y quiero establecer el estado de un botón de habilitado a deshabilitado.

aquí, estoy confundido como si debería usar setTimeout() para deshabilitar el botón después de 20 segundos o dejarlo como está. Como setTimeout() se llama cada vez que el usuario usa el comando "!compras".

 setTimeout(() => { row.components[0].setDisabled(true); row.components[1].setDisabled(true); row.components[2].setDisabled(true); sentMessage.edit({ content: 'You cannot interact with buttons now!', components: [row], }); }, 20000);

Después de buscar en Google, descubrí que setTimeout() funciona de manera asíncrona, lo que significa que si he procesado 1 como respuesta de mis bots de discordia principales, el proceso 2, el proceso 3 y el proceso 4 son setTimeout(), entonces node.js no lo hará. ejecute todas estas operaciones en paralelo; en su lugar, ejecutará el proceso 1 si el proceso 2 está obteniendo o enviando datos, y viceversa.

P0) ¿Lo que encontré es incorrecto o falta información?

P1) Entonces, ¿se recomienda en este escenario usar setTimeout()?

P2) ¿SetTimeout() se combinará con el tiempo o no?

P3 ¿Habrá algún problema de rendimiento debido a setTimeout()?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Creo que encontraste buena información, pero es posible que no la entiendas completamente.

Acerca de la naturaleza asíncrona de setTimeout() de MDN

setTimeout() es una función asíncrona, lo que significa que la función del temporizador no pausará la ejecución de otras funciones en la pila de funciones. En otras palabras, no puede usar setTimeout() para crear una "pausa" antes de que se active la siguiente función en la pila de funciones.

Por lo tanto, su setTimeout() no debería bloquear otras funciones.

Respondiendo a otras preguntas:

Creo que el uso de setTimeout() aquí es correcto.

El setTimeout no debe combinarse con el tiempo: cada setTimeout obtiene un ID de tiempo de espera único y se devuelve como un valor entero positivo de la función setTimeout().

No debería haber problemas de rendimiento.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!