Я пытаюсь узнать больше об асинхронности, жду обещаний и всего этого, я понял концепцию, лежащую в основе этого, но у меня возникают проблемы, когда дело доходит до логики гнезд этих обещаний.
Теоретически я понял, что все асинхронное ожидание сделает ваш код более синхронным, а это означает, что все, что ожидает обещание быть результатом, вы используете ожидание.
Основная цель этого кода - вернуться из списка каталогов + файлов, которые пришли из readdirPromisify, отфильтровать и предоставить только список файлов. используя stat.isFile ().
Если кто-то может помочь, я был бы признателен. Спасибо!
const fs = require("fs");
const { exec } = require("child_process");
const { promisify } = require("util");
const [, , ...args] = process.argv;
const isOptionDirectory = promisify(fs.stat);
const readdirPromisify = promisify(fs.readdir);
const [packageName] = args;
const test = async function() {
const dirs = await readdirPromisify(__dirname);
const files = await dirs.filter(async file => {
const option = await isOptionDirectory(file);
return option.isFile();
});
return files;
};
console.log(test().then(val => console.log(val)));