Berikut adalah artikel bermanfaat tentang polling panjang (permintaan HTTP lama) menggunakan jQuery. Cuplikan kode yang berasal dari artikel ini:
(function poll() {
setTimeout(function() {
$.ajax({
url: "/server/api/function",
type: "GET",
success: function(data) {
console.log("polling");
},
dataType: "json",
complete: poll,
timeout: 2000
})
}, 5000);
})();
Ini akan membuat permintaan berikutnya hanya setelah permintaan ajax selesai.
Variasi di atas yang akan langsung dijalankan saat pertama kali dipanggil sebelum mengikuti interval tunggu / waktu tunggu.
(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
dan beberapa telah menggunakansetInterval
. Mengapa seseorang lebih disukai daripada yang lain?