节点:fs.readdir() 总是 returns 个文件
Node: fs.readdir() always returns files
我有这个代码片段:
fs.readdir(STLFilesDir, (err, files) => {
if (err)
{
console.log(err);
throw err;
}
if (files)
{
console.log(files); //files is an array with all the files in the directory
res.render('prerenderer.ejs');
}
else
{
console.log('no files found');
res.render('prerenderer.ejs');
}
但是,在文件夹中没有任何文件的情况下,我没有得到预期的结果。
而不是在控制台中看到没有找到文件。
我明白了 []
。
这是一个空对象。
这意味着最后的 else
不起作用。所以 fs.readdir()
总是 returns 一个数组——即使它是空的。
那么如何才能将 else
部分变为 运行?
在 javascript 中,空数组 []
是 truthy,因此您需要 if (files.length)
而不是 if (files)
我有这个代码片段:
fs.readdir(STLFilesDir, (err, files) => {
if (err)
{
console.log(err);
throw err;
}
if (files)
{
console.log(files); //files is an array with all the files in the directory
res.render('prerenderer.ejs');
}
else
{
console.log('no files found');
res.render('prerenderer.ejs');
}
但是,在文件夹中没有任何文件的情况下,我没有得到预期的结果。
而不是在控制台中看到没有找到文件。
我明白了 []
。
这是一个空对象。
这意味着最后的 else
不起作用。所以 fs.readdir()
总是 returns 一个数组——即使它是空的。
那么如何才能将 else
部分变为 运行?
在 javascript 中,空数组 []
是 truthy,因此您需要 if (files.length)
而不是 if (files)