write tipos recorrer qué que objetos lista hace función funciones ejemplo caracteristicas array javascript function timer setinterval

recorrer - tipos de funciones en javascript



Llamando a una función cada 60 segundos (8)

Usando setTimeout() es posible iniciar una función a una hora específica:

setTimeout(function, 60000);

Pero, ¿y si quisiera lanzar la función varias veces? Cada vez que pasa un intervalo de tiempo, me gustaría ejecutar la función (cada 60 segundos, digamos).


En jQuery puedes hacer esto.

function random_no(){ var ran=Math.random(); jQuery(''#random_no_container'').html(ran); } window.setInterval(function(){ /// call your function here random_no(); }, 6000); // Change Interval here to test. For eg: 5000 for 5 sec

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="random_no_container"> Hello. Here you can see random numbers after every 6 sec </div>


Hay 2 maneras de llamar

  1. setInterval(function (){ functionName();}, 60000);

  2. setInterval(functionName, 60000);

La función anterior llamará cada 60 segundos.


Si no te importa si el código dentro del timer puede tardar más que tu intervalo, usa setInterval() :

setInterval(function, delay)

Eso activa la función pasada como primer parámetro una y otra vez.

Un mejor enfoque es usar setTimeout junto con una función self-executing anonymous :

(function(){ // do some stuff setTimeout(arguments.callee, 60000); })();

eso garantiza que la próxima llamada no se realice antes de que se ejecutara su código. Utilicé arguments.callee en este ejemplo como referencia de función. Es una mejor manera de darle a la función un nombre y una llamada dentro de setTimeout porque los arguments.callee están en desuso en ecmascript 5.


Simplemente puede llamar a setTimeout al final de la función. Esto lo agregará de nuevo a la cola de eventos. Puede utilizar cualquier tipo de lógica para variar los valores de retardo. Por ejemplo,

function multiStep() { // do some work here blah_blah_whatever(); var newtime = 60000; if (!requestStop) { setTimeout(multiStep, newtime); } }


Un mejor uso de la de para implementar una función de sondeo que sondea cada interval segundos y termina después de un timeout segundos.

function pollFunc(fn, timeout, interval) { var startTime = (new Date()).getTime(); interval = interval || 1000; (function p() { fn(); if (((new Date).getTime() - startTime ) <= timeout) { setTimeout(p, interval); } })(); } pollFunc(sendHeartBeat, 60000, 1000);

ACTUALIZAR

Según el comentario, actualizándolo para que la función pasada pueda detener el sondeo:

function pollFunc(fn, timeout, interval) { var startTime = (new Date()).getTime(); interval = interval || 1000, canPoll = true; (function p() { canPoll = ((new Date).getTime() - startTime ) <= timeout; if (!fn() && canPoll) { // ensures the function exucutes setTimeout(p, interval); } })(); } pollFunc(sendHeartBeat, 60000, 1000); function sendHeartBeat(params) { ... ... if (receivedData) { // no need to execute further return true; // or false, change the IIFE inside condition accordingly. } }



utilizar el

setInterval(function, 60000);

EDITAR: (en caso de que desee detener el reloj después de que se inicie)

Sección de guiones

<script> var int=self.setInterval(function, 60000); </script>

y código HTML

<!-- Stop Button --> <a href="#" onclick="window.clearInterval(int);return false;">Stop</a>


setInterval(fn,time)

es el método que estás buscando.