【发布时间】:2019-06-20 15:02:20
【问题描述】:
我有一个文件夹,里面有一些 json 文件,所以我想通过我的后端动态访问它们,而不用硬编码更改数据。
除了一件事,该代码有效
localhost/Foo.json
Prints {Name:Bar} => expected Foo
localhost/Bar.json
Prints {Name:Bar} => expected Bar
所以总是显示数据数组中的最后一个条目
interface filesPath{
name:string,
ext:string, //here .json
filepath:string,
}
var generateJson = (files:filesPath[]) => {
var dataFiles = [];
var dataNames = [];
for(var x in files){
dataFiles[x] = require(files[x].filepath);
dataNames[x] = files[x].name;
app.get('/'+dataNames[x]+files[x].ext,(req, res) => {
res.json(dataFiles[x]) //Returns always last entry in array
});
}
}
有简单的解决方法吗? 提前致谢
【问题讨论】:
-
当您将空数组设置为
dataFiles和dataNames时,您基本上是在覆盖现有值 -
是的,你是对的,但问题仍然存在,总是读取最后一个值
标签: javascript node.js typescript express