gpt4 book ai didi

node.js - 在 Node/Express 应用程序中存储状态

转载 作者:太空宇宙 更新时间:2023-11-03 23:21:25 24 4
gpt4 key购买 nike

我正在编写一个 Node/Express 应用程序(我的第一个应用程序),需要帮助在页面加载过程中持久保存感觉像是全局变量的内容;但使用全局变量感觉不对。

就问题而言,该站点本质上是相同数据的 3 个不同的 TableView 。表中的数据取自 3 个独立的 MongoDB 表,使用函数合并在一起并显示(使用 Pug,迭代我刚刚创建的对象)。

这 3 个不同的 View 只是在同一对象上迭代的不同 Pug 模板。

我有一个中间件,可以从 MongoDB 生成此对象并将其存储在 res.locals 上,但我不想在每次用户选择不同 View 时默认重新生成它。数据没有改变,这感觉很浪费。

我希望能够设置某种变量,dataNeedsToBeUpdated,如果true,那么我的中间件内的函数将实际完成工作并重新生成表;如果false,它将跳过该操作。

如果用户执行我的更新操作之一,我将设置 dataNeedsToBeUpdated = true、重定向、中间件将触发,并且数据将在下一页加载之前刷新。

我该如何正确执行此操作?

最佳答案

app.locals 的工作方式与 res.locals 类似,只是它可供整个应用程序使用。您可以在中间件中从 req.app.locals 访问它。您所描述的流程听起来不错;只需使用 app.locals 来存储数据和 dataNeedsToBeUpdated

关于node.js - 在 Node/Express 应用程序中存储状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49290205/

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