ここに私のコードスニペットです。 私の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:未定義は関数ではありません – Ritz