SORU
27 Temmuz 2009, PAZARTESİ


Nasıl bir setTimeout için bir parametre geçebilir miyim() geri arama?

Görünüşe göre bazı JavaScript kodu var:

function statechangedPostQuestion()
{
  //alert("statechangedPostQuestion");
  if (xmlhttp.readyState==4)
  {
    var topicId = xmlhttp.responseText;
    setTimeout("postinsql(topicId)",4000);
  }
}

function postinsql(topicId)
{
  //alert(topicId);
}

topicId tanımlanmamış bir hata alıyorum Her şey setTimeout() işlevi kullandım daha önce çalışıyordu.

postinsql(topicId) benim görevim, bir süre sonra anılmak istiyorum. Ne yapmalıyım?

CEVAP
27 Temmuz 2009, PAZARTESİ


setTimeout(function() {
    postinsql(topicId);
}, 4000)

Bir dize yerine bir parametre olarak bir anonim işlev beslenmen gerek, ikinci yöntemi bile ECMA şartname başına değil ama tarayıcılar sadece yumuşak. Bu uygun çözüm, sakın itimat geçen bir dize olarak bir 'işlev' kullanırken setTimeout() setInterval(), çünkü daha yavaş olmalı değerlendirilmiş ve bu sadece doğru değil.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Excel Functions

    Excel Functi

    4 NİSAN 2010
  • FrankJavCee

    FrankJavCee

    29 Kasım 2008
  • MandMEvangelists

    MandMEvangel

    28 Ocak 2008