JavaScript kullanarak her 3 dakikada bir işlevi çağırmak için çalışılıyor

2 Cevap php

Ben bir tamsayı (bir topluluk sitesinde bir kullanıcı için geçerli itibar puanı) döndüren bir işlevi var. Bu sayı genellikle yorum ve gönderimleri olarak nasıl dayanarak yukarı veya aşağı gidiyor. Ben eğer değişti görmek için bunu her 30 saniyede bir "yoklar", ve eğer öyleyse, ben görüntüleyen ediyorum numarasını güncellemek istiyorum.

Başka bir StackOverflow parçacığının, ben yararlı baktım bu JavaScript parçacık bulundu:

function listen() {
  $.get("/mylongrequestfile", {}, function(data) {
     $("#mydiv").html(data);
     listen(); // then launch again
  }));
};

Ben sadece işlevi ile / mylongrequestfile yerine musunuz? Ben çalışıyorum ama o kadar iyi çalışmıyor. Nasıl her 30 saniyede kapmak ve bu değeri göstermek için, bu kodu veya başka bir pasajını kullanabilirim?

2 Cevap

Sen kullanabilirsiniz

window.setInterval

hangi

Bu işlev için her çağrı arasında sabit bir zaman gecikmesi ile, tekrar tekrar bir işlevi çağırır.

var intervalID = window.setInterval(yourfunctionname, 300);

Bu 300 milisaniyelik bir gecikme yürütür.

Geri argümanlar

setInterval() will pass the number of milliseconds late the callback was called into the callback function, hangi can confuse it if it expects something else as an argument. To sidestep that problem, use an anonymous function to call your callback.

The same technique can be used if you need to pass an argument to your callback function, but need it to work in Internet Explorer, hangi doesn't support sending additional parameters with setInterval().

var intervalID = setInterval(function() { YourFunction(); }, 300);

window.setInterval yöntemi aradığınız budur.