Ho una matrice di stringhe in JavaScript. La matrice è definita come la seguente:Array JavaScript con funzioni asincrone
var myArray = [];
myArray.push('1');
myArray.push('2');
myArray.push('3');
Ho bisogno di scorrere l'array e chiamare una funzione che viene eseguita in modo asincrono. Tale funzione è simile al seguente:
function myAsyncFunction(id, callback) {
$.ajax({
url: '/api/items',
data: { 'id':id },
type: 'POST',
dataType: 'text',
success: function(result) {
if (callback) {
callback();
}
}, error: function() {
if (callback) {
callback();
}
}
}
Sto cercando di scorrere tutti gli elementi in mio allineamento e capire quanto tempo ci vuole per eseguire tutti loro. Voglio fare qualcosa di simile:
var startTime = new Date();
for (var i=0; i<myArray.length; i++) {
myAsyncFunction(myArray[i]);
}
var duration = new Date() - startTime;
Ovviamente, quanto sopra non funziona perché non attendere la chiamata AJAX per terminare prima di passare al successivo elemento dell'array. So che ho bisogno di usare le callback. Tuttavia, non sono sicuro di come strutturare il mio codice in questo modo. Come faccio a fare questo?
Se nessuna delle risposte lavorato o si trovano ad affrontare problemi, me lo faccia sapere, così posso aiutare – AmmarCSE