gpt4 book ai didi

javascript - 动态设置参数时如何解决路径问题?

转载 作者:行者123 更新时间:2023-12-03 04:51:13 25 4
gpt4 key购买 nike

我有来自客户端的参数,我想将其设置为 readFile 路径,但当我调用 readFile 方法并返回空数组时,它没有设置变量,因为它不读取目录。如何纠正路径问题?

如果我这样做它就会起作用

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 时将不包含任何内容,因为您为其赋值仅在 readDirectory 的异步回调中。

因此,您必须将文件读取调用放入回调中或使用 Promise 等待有效数据。

关于javascript - 动态设置参数时如何解决路径问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42652434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com