SORU
29 HAZİRAN 2010, Salı


Bir işlev her 60 saniyede arıyorum

Belirli bir zamanda, bir işlevi başlatmak için mümkündür setTimeout() kullanarak:

setTimeout(function, 60000);

Ama eğer işlevi birden çok kez başlatmak istiyorum varsa? Her zaman bir zaman aralığı geçiyor, işlevi çalıştırmak istiyorum (her 60 saniyede bir, diyelim).

CEVAP
29 HAZİRAN 2010, Salı


Eğer varsa timer içindeki kod uzun zaman aralığını alabilir umurunda değil varsa, setInterval() kullanın:

setInterval(function, delay)

Bu işlevi ilk ve parametre olarak geçirilen yangınlar.

Daha iyi bir yaklaşım, self-executing anonymous fonksiyonu ile birlikte setTimeout kullanmaktır

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

bir sonraki çağrı kodunuzu idam edilmeden önce yapılmış olduğunu garanti eder. Fonksiyon referans olarak bu örnekte arguments.callee kullandım. arguments.callee ECMA 5 önerilmiyor çünkü işlevi bir isim verin ve setTimeout içinde bu aramak için daha iyi bir yol.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • boogie2988

    boogie2988

    6 NİSAN 2006
  • hitcreatormusic2

    hitcreatormu

    21 Mayıs 2010
  • Make:

    Make:

    23 Mart 2006