Node.JS 运行 fs.readdir 数组中每一项的函数
Node.JS run function for each item in fs.readdir array
我有一个 fs.readdir()
函数,我想每隔几个小时 运行。这样做的原因是一堆文件经常被发送到我的盒子,我必须 运行 每个文件的脚本才能将它们上传到数据库。
fs.readdir('some/location/',(err,files) => {
if (files.indexOf('someFile') > -1) {
console.log('file found')
function1()
}else{
Console.log('file not found')
})
现在我不想对所有 13 个被删除的文件执行 readdir
有没有办法创建像
这样的列表
someFile = function1()
someFile2 = function2()
所以它 运行 每个文件都为 readdir 数组中存在的每个文件提供专用函数?
var function1 = function........
var function2 = function... do.somethng.diferent
您可以:
- 创建一个名为
fileFunctions
的对象 {}
,将每个文件名映射到要应用的函数。
- 遍历目录的文件并应用与此文件名匹配的函数,如果此文件名与
fileFunctions
中的条目匹配,则使用您刚刚构建的对象:
fileFunctions = {
'file1' => function() {/*function to apply to file1*/},
'file2' => function() {/*function to apply to file2*/},
//etc..
};
fs.readdir('some/location/',(err,files) => {
files.map((file) => {
if(file in fileFunctions) {
fileFunctions[file1](file1);
}
});
});
我有一个 fs.readdir()
函数,我想每隔几个小时 运行。这样做的原因是一堆文件经常被发送到我的盒子,我必须 运行 每个文件的脚本才能将它们上传到数据库。
fs.readdir('some/location/',(err,files) => {
if (files.indexOf('someFile') > -1) {
console.log('file found')
function1()
}else{
Console.log('file not found')
})
现在我不想对所有 13 个被删除的文件执行 readdir
有没有办法创建像
someFile = function1()
someFile2 = function2()
所以它 运行 每个文件都为 readdir 数组中存在的每个文件提供专用函数?
var function1 = function........
var function2 = function... do.somethng.diferent
您可以:
- 创建一个名为
fileFunctions
的对象{}
,将每个文件名映射到要应用的函数。 - 遍历目录的文件并应用与此文件名匹配的函数,如果此文件名与
fileFunctions
中的条目匹配,则使用您刚刚构建的对象:
fileFunctions = {
'file1' => function() {/*function to apply to file1*/},
'file2' => function() {/*function to apply to file2*/},
//etc..
};
fs.readdir('some/location/',(err,files) => {
files.map((file) => {
if(file in fileFunctions) {
fileFunctions[file1](file1);
}
});
});