Ниже будет работать код, добавлен console.log (карта сайта) в Promise, проверьте
const recursive = require("recursive-readdir");
const directories = ['dir1', 'dir2'];
const sitemap = [];
const extns = ["*.pdf", "*.json", "*.xml", "*.jpg", "*.gif", "*.png", "*.css", "*.js", "*.flv", "*.swf", "*.ttf", "*.pptx", "*.doc", "*.docx"];
const allRequests = directories.map((item) => {
return recursive(item, extns);
});
Promise.all(allRequests).then((files) => {
for (let x = 0; x < files.length; x++) {
let url = 'example.com/' + files[x];
addURL(url);
}
console.log(sitemap);
});
function addURL(url) {
sitemap.push(url);
}
//console.log(sitemap);
Вот один из подходов, использующих обещание ... предложит лучший подход для обработки нескольких каталогов ..
var recursive = require("recursive-readdir");
var directories = ['dir1', 'dir2'];
var sitemap = [];
const extns = ["*.pdf", "*.json", "*.xml", "*.jpg", "*.gif", "*.png", "*.css", "*.js", "*.flv", "*.swf", "*.ttf", "*.pptx", "*.doc", "*.docx"];
const path1 = recursive(directories[0], extns);
const path2 = recursive(directories[1], extns);
Promise.all([path1, path2]).then(function(files) {
for (let x = 0; x < files.length; x++) {
let url = 'example.com/' + files[x];
addURL(url);
}
console.log(sitemap);
});
function addURL(url) {
sitemap.push(url);
}
//console.log(sitemap);