İşte jQuery kullanarak uzun yoklama (uzun süre tutulan HTTP isteği) hakkında yararlı bir makale . Bu makaleden türetilen bir kod parçacığı:
(function poll() {
setTimeout(function() {
$.ajax({
url: "/server/api/function",
type: "GET",
success: function(data) {
console.log("polling");
},
dataType: "json",
complete: poll,
timeout: 2000
})
}, 5000);
})();
Bu, sonraki isteği yalnızca ajax isteği tamamlandıktan sonra yapacaktır.
Bekleme / zaman aşımı aralığına uyulmadan önce ilk çağrıldığında hemen çalıştırılacak olan yukarıdaki varyasyon.
(function poll() {
$.ajax({
url: "/server/api/function",
type: "GET",
success: function(data) {
console.log("polling");
},
dataType: "json",
complete: setTimeout(function() {poll()}, 5000),
timeout: 2000
})
})();
setTimeout
ve bazıları kullandısetInterval
. Neden biri diğerine tercih edilir?