Durante la lettura di un articolo sul Long Polling ho ottenuto po 'confuso tra seguire due sapori di setInterval
setTimeout ricorsiva modello
1 -
setInterval(function(){
$.ajax({ url: "server", success: function(data){
//Update your dashboard gauge
salesGauge.setValue(data.value);
}, dataType: "json"});
}, 30000);
2-
(function poll() {
setTimeout(function() {
$.ajax({ url: "server", success: function(data) {
sales.setValue(data.value);
}, dataType: "json", complete: poll });
}, 30000);
})();
Come per blog si legge - Informazioni sul secondo frammento,
Quindi, questo modello non garantisce l'esecuzione su un intervallo fisso per se. Ma, , garantisce che l'intervallo precedente abbia completato prima che l'intervallo successivo venga chiamato.
Perché il secondo snippet garantisce che l'intervallo precedente sia stato completato?
Conosco prima (loop di eventi) ma poco confuso sul secondo frammento.
_Perché il secondo frammento di codice garantisce che l'intervallo precedente è stato completato? _, Garantisce che il precedente ** AJAX ** è stato completato – Tushar
@Tushar questa è la domanda effettiva. Perché non prima può garantire lo stesso? –
Cosa succede se AJAX richiede più tempo di '30000'ms per completare – Tushar