ho un loop nel quale utilizzo una closure con setTimeout per svolgere una sequenza di chiamate ajax, nello specifico la struttura risulta essere la seguente:
Codice: Seleziona tutto
for ( var i = start; i <= stop; i++ ) {
( function(x, c, n, d, s){
setTimeout(function(){
$('#loadingNumber').html('test di ** ' + c + ' ** numero** ' + x + ' **');
console.log('test di ** ' + c + ' ** numero** ' + n + ' **');
checkPath(c, numPath, n, d);
loop++;
}, 0)
})(i, contenuto, number, div, stop);
console.log('fine loop');
}
In totale passano alcuni secondi, pertanto con l'utilizzo di JQuery ho pensato di utilizzare il box #loadingNumber per annunciare il tipo di operazione che sarà controllata con checkPath.
Ora il mio problema è il seguente:
quando parte ciascun setTimeout nella console di google chrome vedo effettivamente il messaggio dovuto al blocco di codice
Codice: Seleziona tutto
console.log('test di ** ' + c + ' ** numero** ' + n + ' **');
In sostanza il codice
Codice: Seleziona tutto
$('#loadingNumber').html('test di ** ' + c + ' ** numero** ' + n + ' **');
Specifico che ho provato a inserire quest'ultimo codice prima della closure, ma ovviamente nel box appare il messaggio con solamente i valori di fine loop.
Qualcuno saprebbe darmi un consiglio?