我有一个promise functin解析并将一个对象传递给另一个名为camparDir的函数,该对象未成功通过,我在那里犯了错误,代码是关于获取目录文件而不是获取每个文件的时间戳创建日期比我想要做两个目录的比较,问题是在comparDir的函数中我没有收到传递的obj,我想迭代它
提前感谢您的帮助
const getDirectories = function (src) {
return new Promise(
(resolve, reject) => {
console.log(Date.now());
glob(src+'/**/*',(err,res)=>{
if(err){
console.log('Error: ',err);
reject(err);
}else{
serverTree = res;
console.log('getDirectoreies Done')
resolve(res)
}
});
}
);
};
const getTS = function(files){
return new Promise(
(resolve, reject) => {
files.forEach(function(entry){
fs.stat(entry, function(err, stats){
serverTreeTS[entry] = Date.parse(stats.mtime);
})
})
console.log('getTS done')
let rrr = serverTreeTS
resolve(rrr);
}
);
};
const comparDir = (trs) => {
return new Promise(
(resolve, reject) => {
console.log(trs) /*
the console shows this obj{}
./src/index.html: 1506183172000
./src/prom.js: 1505991591000
./src/starter.js: 1506255275000
./src/tree.json: 1506248976000
*/
console.log(trs["./src/prom.js"]) // it shows: undefined
Object.keys(trs).map(function(key, index) {
console.log(key, index) // nothing is logged
console.log(trs[key]) // nothing is logged
});
for (var key in trs) {
console.log(key, trs[key]); // nothing is logged
if (trs.hasOwnProperty(key)) {
console.log(key + ' -> ' + trs[key]); // nothing is logged
}
}
resolve('done')
}
);
};
getDirectories('./src/').then(getTS).then(comparDir).then(function(){
console.log(Date.now());
}).catch(function (error) {
console.log(error.message);
});