nodejsexpress中以前调用的JSON对象持久化状态



在我的express代码中,我有一个json中的配置,请参阅;模板";下面的变量。我在第一次调用中出于某种目的对它进行了一些修改,然后在第二次调用中,当我试图获取它时,它会返回字段xyz的修改值,即A,而我希望它返回原始配置。

我确实试着移动了第一行";const-template=xxx";在每个方法中,以便创建一个新对象,但它仍然存在相同的问题。我该怎么解决这个问题?

const express = require("express");
const { db, pgp } = require("../../helpers/dbConnection");
const { auth } = require("../middlewares/Auth");
const router = express.Router();
const template = require('../../config/template.json');
router.get("/callone", async (req, res) => {
try {
template.xyz = "A"
return res.status(200).send();
}  
catch (err) {
return res.status(500).send(err.message);
}
});
router.get("/calltwo", async (req, res) => {
try {
return res.status(200).send(template);
}  
catch (err) {
return res.status(500).send(err.message);
}
});

这种方法通常是个坏主意。

  • 如果您想扩展到1台服务器以上,这是行不通的
  • 当同时有一个以上的用户使用该系统时,它不起作用

处理此类问题的正确方法是添加数据库或会话系统。

会话在这里感觉是正确的方法,因为这个概念专门用于存储特定于用户的信息,并在几个请求的过程中存储/检索这些信息。

最新更新