Voici un article utile sur le long du scrutin (de longue date de la requête HTTP) à l'aide de jQuery. Un extrait de code dérivé de cet article:
(function poll() {
setTimeout(function() {
$.ajax({
url: "/server/api/function",
type: "GET",
success: function(data) {
console.log("polling");
},
dataType: "json",
complete: poll,
timeout: 2000
})
}, 5000);
})();
Cela permettra de faire de la prochaine demande seulement après que la requête ajax est terminé.
Une variation sur le dessus de qui va l'exécuter immédiatement la première fois, il est appelé avant d'honorer l'attente/intervalle de délai d'attente.
(function poll() {
$.ajax({
url: "/server/api/function",
type: "GET",
success: function(data) {
console.log("polling");
},
dataType: "json",
complete: setTimeout(function() {poll()}, 5000),
timeout: 2000
})
})();