mam kod jaksekwencyjne wykonanie w 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);
}
});
To nie jest wykonywane kolejno w node.js więc dostaję pustą tablicę na koniec realizacji. Problemem jest to pierwszy wykonać console.log(tArr);
a następnie wykonać
common.findOne('tasks',{'taskId':parseInt(tasks[i])},function(err,res){
tArr[i] = res;
console.log(res);
});
Czy jest jakiś błąd w kodzie lub w inny sposób to zrobić. Dzięki!
zamiast iteracji wyników result.tasks możemy powtórzyć obiekt wynikowy (JSON)? próbowałem, ale daje mi błąd jak Object #
Możesz iterować po tablicy, która jest w JSON ... brzmi tak, jakbyś miał obiekt, więc nie możesz go powtórzyć. Jeśli potrzebujesz pomocy w obsłudze obiektu JSON, opublikuj nowe pytanie. – staackuser2
Pytanie dotyczy "sekwencyjnego wykonywania w pliku node.js". To robi dokładnie odwrotnie. Stąd mój głos w dół –