Javascript 如何在NodeJS中更新内存中的变量?
假设我有一个变量Javascript 如何在NodeJS中更新内存中的变量?,javascript,json,node.js,Javascript,Json,Node.js,假设我有一个变量varloli=[{pop:true},{pup:false}] 然后,我有一个路由,它生成如下内容loli.push(req.boy)和另一个路由,该路由使用loli数组进行响应,如res.json(loli) 我在Stack和Node文档中搜索了一些问题,但是我的res.json(loli)只发送原始数组,尽管它已经改变了 我是否可以监视此变量上的更改,或者告诉节点不要缓存,或者不要执行它正在执行的任何操作?如果不看到出现问题的可运行代码,很难准确地说出问题所在,但下面的一些
varloli=[{pop:true},{pup:false}]
然后,我有一个路由,它生成如下内容loli.push(req.boy)
和另一个路由,该路由使用loli
数组进行响应,如res.json(loli)
我在Stack和Node文档中搜索了一些问题,但是我的res.json(loli)
只发送原始数组,尽管它已经改变了
我是否可以监视此变量上的更改,或者告诉节点不要缓存,或者不要执行它正在执行的任何操作?如果不看到出现问题的可运行代码,很难准确地说出问题所在,但下面的一些代码可以满足您的要求。启动它,然后转到查看对象的初始值,然后转到将字符串值“foo”推入数组,然后再次转到查看它是否存在
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);
});
它取决于变量的定义位置以及函数如何访问它-通过作用域或作为参数。如果不了解您的操作方式,就无法诊断您的问题。节点不会在请求之间保留变量状态。每次你点击服务器,
loli
都会用你硬编码的分配给它的东西重新初始化。如果变量是在请求函数之外定义的,这是不正确的。如果你能展示一个最小的代码示例来演示你的问题,那将非常有帮助。是的,我在做假设。可能需要等待一些代码。请立即尝试。谢谢你的回答。