上のコードは、このNodejs可変印刷コンソールではなく、図
module.exports = {
index: function (req, res, next) {
//get an array of all users in user collection
Notification.find(function foundNotification(err, notifications) {
if (err) return next(err);
var elusuario=[];
User.findOne(2, function foundUser (err, user) {
if (err) return next(err);
if (!user) return next();
console.log(user);
console.log("----------------------------");
elusuario = user;
console.log(elusuario);
});
res.view({
notifications: notifications,
elusuario: elusuario
});
})
}
}です。
これはコントローラであり、コンソールではelusuarioが正常に表示されますが、ビューではユーザーに値がありません。どうして? 私は何かがグローバル変数に関連していると思います。しかし、私は方法が非同期であるので 感謝
EDIT
はすべての権利を知りません。何をしようとしているイムは、彼女のuser.idによって通知やユーザーを見つけて、私がしなければだから何user.nameを取得しているこの
module.exports = {
index: function (req, res, next) {
//get an array of all users in user collection
Notification.find(function foundNotification(err, notifications) {
if (err) return next(err);
User.find(function foundUser (err, users) {
if (err) return next(err);
var usuarios_locotes = [];
_.each(notifications, function (notification) {
_.each(users, function (user) {
if(notification.token_user==user.token){
console.log(user.token);
usuarios_locotes.push(user);
console.log(usuarios_locotes);
};
});
});
res.view({
notifications: notifications,
users: usuarios_locotes
});
});
})
}
};
まだ動作していませんか? __。それぞれは非同期機能ですか?あなたがres.view
を呼び出す前に
すべてこの多分愚かな質問
申し訳ありませんが、私はこれが動作しない理由を任意のアイデアをuのを持って、質問を編集しました: '_.each'について/ –
、私は助ける別の答えを見つけましたあなたより良い:http://stackoverflow.com/questions/18831655/underscore-each-callback-when-finished#answer-18833980 –