// This is my router.js
router.get('/restful', function(req, res){
console.log("before");
User.show_deatils(req, res, function(err, resultArray){
if(!err){
req.session.resultArray=resultArray;
req.session.save();
}
});
//console.log(req.session.resultArray)
res.render('restful',{resultArray:req.session.resultArray});
});
//This is model.js
module.exports.show_deatils=function(req,res,callback){
var resultArray=[];
mongo.connect(url,function(err,db){
assert.equal(null,err);
var cursor=db.collection('users').find();
cursor.forEach(function(doc,err){
assert.equal(null,err);
resultArray.push(doc);
callback(null, resultArray);
});
});
}
//ビューをロードするときにresultArrayを表示したい(restful.ejs)。しかし、最初にページにリダイレクトするときに問題が発生します。値が表示されませんしかし、同じページをクリックすると詳細が表示されます。最初の読み込みでは、値をセッションに保存していないと感じます。この問題を解決するにはどうすればよいですか?あなたのようにコードを変更し 非同期コールバック関数の外でレンダリングされているためであるroute.jsからのビューのデータの表示
私の答えを確認し、ご了承ください。 –