여기 내 코드입니다. 내 friends.friendsList에 대한 세부 정보를 얻으려고하고 있는데 사용자 컬렉션 자체 내에 있으며 사용자의 ID를 삽입하고 있습니다. 그래서 먼저 userId를 가져 와서 각 내용을 가져옵니다.하지만 내 문제는 fetchDetails
함수 외부에서 friendsDetails
의 값을 가져 오지 못합니다. 나는 많은 시간을 보냈다. 나는 노드와 돛 js를 처음 사용합니다. 나는 비동기 실행의 문제라고 생각한다. 이 문제를 어떻게 해결할 수 있습니까?노드 js의 forloop 콜백 문제
getFriendsDetails:function(req,res){
var userId = req.param('id');
var friendsDetails=[];
User.findOne({
id: userId
}).exec(function(err,user){
var friendsIds=user.friends;
friendsIds.forEach(function(id){
User.findOne({
id: id
}).exec(function fetchDetails(err,Userdetails){
var obj={
id:Userdetails.id,
name:Userdetails.name,
pro_pic:Userdetails.profile_pic
}
friendsDetails.push(obj);
console.log(friendsDetails);//Here consoling pushed data correctly.
});
console.log(friendsDetails);//here i am getting null array
});
});
오류 발생 \ sails-mongo \ node_modules \ mongodb \ lib \ utils.js : 98 process.nextTick (function() {throw err;}); ^ TypeError : undefined가 함수가 아닙니다. – Ritz