假设我有一个变量var loli = [ { pop: true}, {pup: false } ]
。
然后,我有一个类似于此loli.push(req.boy)
的路由和另一个使用loli
数组响应的路由,例如res.json(loli)
。
我在Stack,Node Docs上搜索了一些问题但无法找出原因。但我的res.json(loli)
只发送原始数组,即使它已经改变了。
我可以观察这个var的变化,还是告诉Node不要缓存或不做它做的事情?
答案 0 :(得分:1)
如果没有看到有问题的可运行代码,很难确切地说出错误,但是这里有一些代码能够满足您的要求。启动它,然后转到http://localhost:3000/show以查看对象的初始值,然后转到http://localhost:3000/push/foo以推送字符串值" foo"进入数组,然后再次转到http://localhost:3000/show,看看它是否存在。
var express = require('express');
var app = express();
var loli = [ { pop: true}, {pup: false } ]
app.get('/push/:boy', function (req, res) {
loli.push(req.params.boy);
res.send('Pushed!');
});
app.get('/show', function (req, res) {
res.json(loli);
});
var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});