我试图在目录中创建一个特定文件的数组; 这将通过一些测试用例来确保它符合给定的标准.
我使用的fs.readdir方法,但它并没有回报promise的意思我不能push给array.
我的想法是arr使用我实际想要输出的文件填充array(),然后对该数组执行某些操作.但由于readdir是异步的,我无法链接.then()到它,我的计划被撤销.
我也试过同样的事情readdirSync但无济于事.
const Promise = require('bluebird');
const fs = Promise.promisifyAll(require('fs'));
var arr = [];
fs.readdirAsync(folder).then( files => {
files.forEach(file => {
fs.stat(folder + '/' + file, (err, stats) => {
if(!stats.isDirectory()) {
arr.push(file);
return;
}
});
});
})
.then( () => {
console.log(arr);
});
Run Code Online (Sandbox Code Playgroud)