我有一个从Express Generator生成的Express JS应用程序。
我需要运行一个中间件,以便仅在应用启动时从后端数据库加载一些恒定数据。
我的假设是,将中间件添加到app.js中并不是一个好主意,因为它会运行每个req和res循环,这会降低性能。
如何实现?
答案 0 :(得分:0)
我要解决的方法可能是用一个返回此数据的函数创建一个新文件,再加上一个变量,该变量保留缓存的版本。
例如:
// MyThing.js
let cachedData;
const loadData = () => {
// Load data for the first time
};
const getData = () => {
if (!cachedData) loadData();
};
module.exports = {
getData,
loadData
};
现在,如果您需要在其他任何地方检索此数据,则可以执行以下操作:
// Some-other-file.js
const { getData } = require('./MyThing.js'):
console.log(getData());
请记住以下几点:
async
函数。