код необходим для чтения всех файлов в каталоге и возврата всего содержимого в каждом файле docx этого каталога.
Я использую библиотеки glob и mammoth для чтения каталога и файла docx соответственно.Однако я хочу объединить содержимое каждого файла в более крупный.но так как узел асинхронный, код, который я сделал, передаст мне пустой контент перед чтением каждого файла.
var mammoth = require("mammoth");
var glob = require("glob");
function readAllFiles(dir){
var data_collection = '';
return new Promise(async(resolve, reject) => {
// reading the directory
glob(dir, function (er, files) {
console.log(files);
// for each file in the directory read its content
_.map(files, function(file){
mammoth.extractRawText({path: file})
.then(function(result){
var text = result.value; // The raw text
var messages = result.messages;
text = text.replace(/(^[ \t]*\n)/gm, "").replace('\r', '').replace('\n', '');
console.log('extractRawText',text);
// concat the small content into big content
data_collection = data_collection + " "+text;
})
.done();
});
resolve(data_collection);
});
});
}
как бы решить проблему?