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

147
Vistas
Evitar crear variables adicionales para el objeto con this y métodos dentro del objeto

Creé un objeto de temporizador con diferentes métodos de temporizador, y estoy completamente feliz de cómo funciona. Sin embargo, no estoy satisfecho con la calidad del código. No puedo entender cómo puedo obtener los mismos métodos de trabajo sin crear variables adicionales, en particular, la propiedad intervalId y la función resetSecAddMin . ¿Es posible que esta solución funcione sin estas variables adicionales?

El código:

 const timer = { secondsPassed: 0, minsPassed: 0, intervalId: null, startTimer() { this.intervalId = setInterval(() => { const resetSecAddMin = () => { this.secondsPassed = 0; this.minsPassed += 1 }; this.secondsPassed < 59 ? this.secondsPassed += 1 : resetSecAddMin(); }, [1000]); }, getTime() { return this.secondsPassed < 10 ? `${this.minsPassed}:0${this.secondsPassed}` : `${this.minsPassed}:${this.secondsPassed}`; }, stopTimer() { clearInterval(this.intervalId); }, resetTimer() { this.secondsPassed = 0; this.minsPassed = 0; }, };

Espero que esta pregunta aporte algo de valor a la comunidad. Creo que escribir un código legible no es menos importante que crear soluciones que funcionen.

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

0

En realidad no necesitas ningún temporizador. En el método startTimer() registra la hora de inicio this.startTime = Date.now() . Y luego dentro de getTime() obtienes el delta en milisegundos var delta = Date.now() - this.startTime . Será en milisegundos, pero puedes dividir por 1000 para obtener segundos y calcular los minutos también por división.

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