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

  • KRQE

    KRQE

    6 AĞUSTOS 2007
  • Titan Lee Hai

    Titan Lee Ha

    14 Temmuz 2008
  • TrenchTech Computer Repair Tutorials

    TrenchTech C

    19 EYLÜL 2014