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

  • Awesome Toys TV

    Awesome Toys

    18 HAZİRAN 2014
  • Edge-CGI 3D Tutorials and more!

    Edge-CGI 3D

    11 HAZİRAN 2013
  • Unbox Therapy

    Unbox Therap

    21 Aralık 2010