javascript - 為什么這里不需要將req.session的值賦給render里的對象,頁面就能識別到它?
問題描述
用了express里的session中間件,
對象里沒有user!
重定向之前給req.session.user賦值了
這是路由.png](/img/bVNmO9)
這是render的頁面,是怎么取到這個(gè)user值的?為什么不需要給render里的傳入的對象賦一個(gè)user值?工作原理是什么?為什么有的卻需要?
在這個(gè)頁面跳轉(zhuǎn)的下一個(gè)頁面里,如果不賦值就識別不到
exports.publish=function (req,res,next) { return res.render(’publish’,{key:’publish’,user:req.session.user });}
問題解答
回答1:樓主的問題就一個(gè)問題,node中的回調(diào)賦值node中的回調(diào)的值和一般的回調(diào)不一樣,不能按一般的回調(diào)來理解,一般的回調(diào)是賦值的,這里不是賦值,是方法產(chǎn)生了一個(gè)值直接將其賦值為User類比于
var user.save=function(fn){ //產(chǎn)生了一個(gè)值,test fn(test);}
按如上思路來理解,不懂再問我,User.newUserSave產(chǎn)生了一個(gè)值,并將他賦給了user
