Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 为什么我无法在异步瀑布函数中更新节点客户端会话?_Node.js - Fatal编程技术网

Node.js 为什么我无法在异步瀑布函数中更新节点客户端会话?

Node.js 为什么我无法在异步瀑布函数中更新节点客户端会话?,node.js,Node.js,我将客户端会话用于异步,但无法从异步瀑布函数中更新用户会话。我想知道我是否做了一些明显错误的事情: app.get('/', function (req, res) { console.log(req.session) // first request logs: {}, second request logs: {foo: 'bar'} req.session.foo = 'bar' async.waterfall([ function(cal

我将客户端会话用于异步,但无法从异步瀑布函数中更新用户会话。我想知道我是否做了一些明显错误的事情:

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('') }) 看起来第二个请求的session对象中应该有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 }) })