我有一系列使用 async.waterfall 运行的方法,然后返回结果。我将该结果存储到 request.session 变量中,因为我使用 Ajax 并稍后使用结果。但是,我发现我可以设置会话变量的值,但后来我无法检索它。
这是瀑布的代码。
async.waterfall([
//Some functions
], function(err, result) {
request.session.cases = result;
response.render('template.jade', {
items : result
});
然后我对另一个 url 执行 jquery 加载,然后过滤request.session.cases
. 但是,我发现这request.session.cases
是未定义的!
app.get('/case/:bugid', function(request, response) {
console.log(request.session.cases); //undefined
}
奇怪的是,我可以设置request.session.cases
为除结果之外的任何内容(我什至可以将其设置为result[0]
),这样就可以了。在执行 Ajax 调用之前,我还打印了 result 的值,它确实填充了对象数组。