Ho codice comeesecuzione sequenziale in node.js
common.findOne('list', {'listId': parseInt(request.params. istId)}, function(err, result){
if(err) {
console.log(err);
}
else {
var tArr = new Array();
if(result.tasks) {
var tasks = result.tasks;
for(var i in tasks) {
console.log(tasks[i]);
common.findOne('tasks', {'taskId':parseInt(tasks[i])}, function(err,res){
tArr[i] = res;
console.log(res);
});
}
console.log(tArr);
}
return response.send(result);
}
});
Non viene eseguito sequenzialmente in node.js modo da ottenere un array vuoto al termine dell'esecuzione. Il problema è che sarà prima esecuzione console.log(tArr);
e quindi eseguire
common.findOne('tasks',{'taskId':parseInt(tasks[i])},function(err,res){
tArr[i] = res;
console.log(res);
});
C'è qualche errore nel mio codice o qualsiasi altro modo per fare questo. Grazie!
invece di eseguire iterate su result.tasks è possibile iterare un oggetto risultato (JSON)? ho provato ma mi dà un errore come Object #
È possibile eseguire iterazioni su una matrice che si trova in JSON ... sembra che tu abbia avuto un oggetto, quindi non puoi eseguire un'iterazione. Se hai bisogno di aiuto per la gestione dell'oggetto JSON, pubblica una nuova domanda. – staackuser2
La domanda richiede "Esecuzione sequenziale in node.js". Questo fa esattamente il contrario. Quindi il mio voto negativo –