gpt4 book ai didi

node.js - 在fs.readdir函数外部访问变量

转载 作者:太空宇宙 更新时间:2023-11-03 22:40:02 24 4
gpt4 key购买 nike

考虑到以下错误,我无法访问函数外部的可变视频。经测试的路径在函数内部返回并且正确,但是在fs.readdir()外部无法访问变量,在外部手动写入是正确的,但我想自动

我对node.js还是很陌生,我知道它不起作用,我的想法是:

-global变量-但不建议使用,我也不知道如何使用它

使用回调制作同步函数,但我不知道如何重写代码来做到这一点

    var a=0,b; 
var video;
const testFolder = './Desktop/';
fs.readdir(testFolder, (err, files) => {
files.forEach(file => {
console.log(file);
fs.stat(testFolder + '/'+file, function(err, stats){
b=stats.ctime;
if(b>a){
a=stats.ctime;
video=path.join(__dirname, testFolder, file);
console.log(video);
}
});
});
});
fs.stat(video, function(err, stats) {
.
.


错误:

TypeError: path must be a string or Buffer
at TypeError (native)
at Object.fs.stat (fs.js:973:11)
at Server.<anonymous> (C:\Tajne\Java\Server\main.js:27:12)

最佳答案

使用readdirSync而不是readdir

let files fs.readdirSync(testFolder);
files.forEach(file => {
console.log(file);
fs.stat(testFolder + '/'+file, function(err, stats){
b=stats.ctime;
if(b>a){
a=stats.ctime;
video=path.join(__dirname, testFolder, file);
console.log(video);
}
});
});

关于node.js - 在fs.readdir函数外部访问变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41408620/

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