如何在NodeJS中更新内存中的变量?

时间:2015-11-10 23:13:48

标签: javascript json node.js

假设我有一个变量var loli = [ { pop: true}, {pup: false } ]

然后,我有一个类似于此loli.push(req.boy)的路由和另一个使用loli数组响应的路由,例如res.json(loli)

我在Stack,Node Docs上搜索了一些问题但无法找出原因。但我的res.json(loli)只发送原始数组,即使它已经改变了。

我可以观察这个var的变化,还是告诉Node不要缓存或不做它做的事情?

1 个答案:

答案 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);
});