正在开发一个nodeJs应用程序。我有一个命中率很高的API路由。在 API 的 Controller 函数中,我必须使用一个相对较大的数组。我不确定是否应该在 config.js 中声明它(我假设只在内存中加载一次),还是应该在函数本身中声明它,以便为每个新传入请求将其加载到内存中。我不确定哪种方法内存效率高。
方法一。
/* Config.js */
const bigArray = ["String1", "String2",...];
module.exports = {bigArray};
/* Route.js*/
const {bigArray} = require("config.js");
router.get("/my_api", (req,res,next)=>{
for(let item of bigArray){
console.log(item);
}
return res.json({status: 1});
})
方法2。
/* Route.js*/
router.get("/my_api", (req,res,next)=>{
const bigArray = ["String1", "String2",...];
for(let item of bigArray){
console.log(item);
}
return res.json({status: 1});
})
有人能给我指出正确的方向或在哪里查看模式详细信息吗?
最佳答案
假设数组没有发生变化,是的,您可能不应该在多次执行的路由处理程序中创建它。但不,没有理由将其放在单独的 config.js 文件中。就这么写
// Route.js
const bigArray = ["String1", "String2",...];
router.get("/my_api", (req, res, next) => {
for (let item of bigArray) {
console.log(item);
}
return res.json({status: 1});
});
关于javascript - NodeJs 设计模式 - 在全局配置或 API 路由中声明的大变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49898300/