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

290
Vistas
¿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 Respuestas
Responde la pregunta

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 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