[英]Why am I unable to update Node client-session inside async waterfall function?
我正在使用帶有異步( https://github.com/caolan/async )的客戶端會話( https://github.com/mozilla/node-client-sessions ),但無法從內部更新用戶會話異步瀑布功能。 我想知道我是否做了明顯錯誤的事情:
app.get('/', function (req, res) { console.log(req.session) // first request logs: {}, second request logs: {foo: 'bar'} req.session.foo = 'bar' async.waterfall([ function(callback){ req.session.baz = 'bip' } ], function(){ console.log(req.session) // this logs full object: { foo: 'bar', baz: 'bip' } }) res.send('') })
似乎第二個請求應該在會話對象中有baz: 'bip'
,但事實並非如此。 為什么?
臉掌! res.send('')
需要在瀑布完成函數內部,否則響應會在更新cookie之前發送:
app.get('/', function (req, res) { console.log(req.session) req.session.foo = 'bar' async.waterfall([ function(callback){ req.session.baz = 'bip' } ], function(){ console.log(req.session) res.send('') // this needed to be moved here }) })
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.