gpt4 book ai didi

node.js - 变量将在已部署的 Node/express 应用程序中存储多长时间?每个客户都可以使用它吗?

转载 作者:行者123 更新时间:2023-12-02 19:22:40 26 4
gpt4 key购买 nike

我有一个在 Node/express 文件顶部声明的 let 变量,并通过 post 请求分配一个值,然后由不同的 get 请求访问该变量以将值返回给客户端。我的问题是:如果不被覆盖,该变量将存储多长时间以及该变量的值是否可用于其他用户的请求?

let variable;

router.post("/", async (req, res) => {
// returns an object
},
function (err) {
if (err) {
console.log(err);
res.status(500).send({ success: false, reason: "session didnt work" });
} else {
variable = object.variable
res.json({ variable.id: variable.id });
// res.status(200).send({ success: true });
}
}
);
});

最佳答案

该变量存在于声明它的模块的范围内,并且在nodejs进程的持续时间内持续存在。该模块中任何用户的任何请求处理程序都可以使用它。

我称之为“顶级模块变量”。它就像一个模块全局,在应用程序的生命周期内可供该模块中的任何代码使用,但不适用于模块外部的任何代码。

how long will this variable be stored if not overwritten

在 Nodejs 进程的生命周期内。

will that variable's value be available to a request from another user

是的。它的范围仅限于模块,因此运行该模块的任何代码(无论用户触发了代码)都可以访问相同的变量。

Nodejs 默认没有“每个用户”或“每个请求”变量。特定于请求的数据位于 req 对象上,特定于用户的数据通常使用 session 对象创建,该 session 对象由随每个请求发送的 cookie 进行索引,然后使用该 cookie 索引进行查找。

关于node.js - 变量将在已部署的 Node/express 应用程序中存储多长时间?每个客户都可以使用它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62843240/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com