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

489
Vistas
¿Cómo detener una función cuando se llama?

Estoy creando un programa que cuenta hacia atrás o hacia adelante y lo tengo funcionando; sin embargo, me gusta presionar contar hacia arriba en medio de la cuenta hacia atrás o viceversa y me gusta que el contador se detenga y cuente hacia adelante o viceversa. ¿Cómo logro eso? muchas gracias por tu ayuda :)

 function myFunctionUp() { var Timer = setInterval(function () { i++; document.getElementById("mydata").textContent = i; if (i >= 21) clearInterval(Timer); if (i == 21){ document.getElementById("mydata").textContent = "Boom-up!"; } }, 1000); } function myFunctionDown() { var Timer = setInterval(function () { i--; document.getElementById("mydata").textContent = i; if (i <= 0) clearInterval(Timer); if (i == 0){ document.getElementById("mydata").textContent = "Boom-down"; } }, 1000); }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Utilice una variable para realizar un seguimiento de la forma de contar. Cuando se hace clic en un botón, invierte el valor de la variable:

 let countDown = 10; let increment = -1; function count() { countDown += increment; document.getElementById('container').innerText = countDown; setTimeout(() => count(), 1000); } document.getElementById('btn').addEventListener('click', function () { increment = -increment; }); count();

Trabajando stackblitz aquí

Por lo general, nunca "toma el control" de la ejecución de otro método. Cuando quieras hacer eso, la lógica debe invertirse. La función en sí debe preguntar si debe continuar.

Con un ejemplo: tomemos una función que funciona en un ciclo infinito, que desea poder detener a pedido. En algunos idiomas, puede ejecutar código en un subproceso e interrumpir el subproceso a pedido. Pero incluso si es posible, generalmente es una mala idea detener algún código en medio de su ejecución.

Una mejor manera de hacerlo es crear un "¿debería continuar?" fragmento de código al final de la iteración. Podría leer una variable o llamar a un método, etc. Cuando desee detener la iteración, solo tiene que configurar esta variable y sabrá que el ciclo infinito se detendrá graciosamente al final de la iteración actual.

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