tôi có mã nhưthực hiện tuần tự trong 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);
}
});
Nó không phải được thực hiện tuần tự trong Node.js vì vậy tôi có được một mảng trống ở cuối thực hiện. Vấn đề là trước tiên nó sẽ thực hiện console.log(tArr);
và sau đó thực hiện
common.findOne('tasks',{'taskId':parseInt(tasks[i])},function(err,res){
tArr[i] = res;
console.log(res);
});
Có sai sót nào trong mã của tôi hay cách khác để thực hiện việc này. Cảm ơn!
thay vì lặp qua result.tasks, chúng tôi có thể lặp lại đối tượng kết quả (JSON) không? tôi đã thử nhưng nó mang lại cho tôi một lỗi như Object #
Bạn có thể lặp qua một mảng có trong JSON ... có vẻ như bạn đã có một đối tượng, vì vậy bạn không thể lặp lại điều đó. Nếu bạn cần trợ giúp về việc xử lý đối tượng JSON, hãy đăng câu hỏi mới. – staackuser2
Câu hỏi yêu cầu "Thực hiện tuần tự trong node.js". Điều này hoàn toàn ngược lại. Do đó tôi bỏ phiếu xuống –