Đây là một bài viết hữu ích về cách bỏ phiếu dài (yêu cầu HTTP được giữ lâu) bằng cách sử dụng jQuery. Một đoạn mã bắt nguồn từ bài viết này:
(function poll() {
setTimeout(function() {
$.ajax({
url: "/server/api/function",
type: "GET",
success: function(data) {
console.log("polling");
},
dataType: "json",
complete: poll,
timeout: 2000
})
}, 5000);
})();
Thao tác này sẽ chỉ thực hiện yêu cầu tiếp theo sau khi yêu cầu ajax đã hoàn thành.
Một biến thể ở trên sẽ thực thi ngay lần đầu tiên nó được gọi trước khi đáp ứng khoảng thời gian chờ / thời gian chờ.
(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
và một số đã sử dụngsetInterval
. Tại sao cái này được ưu tiên hơn cái khác?