fs.promisesとは、コールバック地獄を避けるためNode.js 10で追加された書き方
参考にしたサイト様
https://tech.chakapoko.com/nodejs/file/promises.html
下記ソース出典
https://www.youtube.com/watch?v=WkLVd2uGU7s&list=PLQEKit6tfVVKkp0ELOyKey_v7I89mxYZI&index=16
// require とは、commonJSの仕様の一つでモジュールの読み込み_再利用しやすくなる
// promise とは、コールバックのネストを避けるPromiseを返すAPI
const fs = require("fs").promises;
async function main() {
await findSalesFiles("stores")
}
main();
// ファイル名を取得する
async function findSalesFiles(folderName) {
let salesFiles = [];
// オプション追加_withFileTypes_パス関連のメタデータを返す
const items = await fs.readdir(folderName, { withFileTypes: true });
for (const item of items) {
// ディレクトリの場合
if (item.isDirectory()) {
// 配列結合_salesFilesにファイルパスを結合する
salesFiles = salesFiles.cancat(
// プレースホルダ `${~}` に式を入れられる
// 次々とフォルダ名を結合していく
await findSalesFiles(`${folderName}/${item.name}`)
);
} else {
// ファイル名に到達した場合
// ファイルのフルパスを配列末尾に追加する
salesFiles.push(`${folderName}/${item.name}`);
}
}
return salesFiles;
}