动态设置参数时如何解决路径问题?
How to resolve path issue when you set params dynamically?
我有来自客户端的参数,我想将其设置为 readFile
路径,但是当我调用 readFile
方法和 returns 空数组时它没有设置变量,因为它没有读取目录.我怎样才能更正路径问题?
如果我这样做就可以了
var filesData = {};
console.log('SEARCH ENV PRINTING', searchEnv);
if (searchEnv === 'DIT') {
ditDirectory.readDirectory(function(files) {
filesData.logFiles = files;
filesData.searchEnv = searchEnv;
asyncFiles(filesData);
});
} else if (searchEnv === 'St') {
stDirectory.readDirectory(function(files) {
filesData.logFiles = files;
filesData.searchEnv = searchEnv;
asyncFiles(filesData);
});
}
fs.readFile('logs/dit/'+ logfile.filename, 'utf8', function (err, data) {
console.log('inside readFile', data);
if (err) {
return done(err);
}
});
如果我根据用户输入 设置 filesData.searchEnv
, 将不起作用
fs.readFile('logs/' + filesData.searchEnv + '/'+ logfile.filename,
'utf8',
function (err, data) {
console.log('inside readFile', data);
if (err) {
return done(err);
}
});
如果你真的按照你描述的顺序调用东西,你的 filesData.searchEnv
在你调用 fs.readFile
时将不包含任何内容,因为你只在 [=12] 的异步回调中为其赋值=].
因此,您必须将文件读取调用放入回调或使用 promise 等待有效数据。
我有来自客户端的参数,我想将其设置为 readFile
路径,但是当我调用 readFile
方法和 returns 空数组时它没有设置变量,因为它没有读取目录.我怎样才能更正路径问题?
如果我这样做就可以了
var filesData = {};
console.log('SEARCH ENV PRINTING', searchEnv);
if (searchEnv === 'DIT') {
ditDirectory.readDirectory(function(files) {
filesData.logFiles = files;
filesData.searchEnv = searchEnv;
asyncFiles(filesData);
});
} else if (searchEnv === 'St') {
stDirectory.readDirectory(function(files) {
filesData.logFiles = files;
filesData.searchEnv = searchEnv;
asyncFiles(filesData);
});
}
fs.readFile('logs/dit/'+ logfile.filename, 'utf8', function (err, data) {
console.log('inside readFile', data);
if (err) {
return done(err);
}
});
如果我根据用户输入 设置 filesData.searchEnv
,将不起作用
fs.readFile('logs/' + filesData.searchEnv + '/'+ logfile.filename,
'utf8',
function (err, data) {
console.log('inside readFile', data);
if (err) {
return done(err);
}
});
如果你真的按照你描述的顺序调用东西,你的 filesData.searchEnv
在你调用 fs.readFile
时将不包含任何内容,因为你只在 [=12] 的异步回调中为其赋值=].
因此,您必须将文件读取调用放入回调或使用 promise 等待有效数据。