我尝试做一个非常简单的任务使用承诺。我有多个目录,每个目录都有一个content.txt文件在它。我需要找到该文件并返回其网址。一旦所有的网址都返回我想执行一个函数称为'任务结束'。我的代码工作,因为它返回所有的网址,但我不能让我的结束函数火。
这是我的密码
const fs = require("fs");
const glob = require("glob");
function getDirectoryName(dir) {
return dir;
}
const startDir = getDirectoryName('compliance_finish');
const directoryFiles = fs.readdirSync(`../${startDir}`);
Promise.all(
directoryFiles.map((filename) => {
return new Promise((resolve, reject) => {
let pat2 = ''
getDirectories = function (src, callback) {
glob(src + '/**/*', callback);
};
getDirectories(`../${startDir}/${filename}/`, function (err, res) {
if(err){
console.log('Error', err);
}else{
for(i=0;i<=res.length-1;i++){
if(res[i].includes('content.txt')){
pat2 = res[i]
console.log(pat2)
}
}
}
})
})
})
).then(() => {
task_ended()
}, () => {
})
function task_ended(){
console.log('finished')
}
1条答案
按热度按时间1szpjjfi1#
缺少Resolve函数。