関数の概要
fs.promises.readdirは、Node.jsのファイルシステム(fs)モジュールに含まれる関数の一つです。この関数は、指定されたディレクトリ内のファイルやサブディレクトリの一覧を非同期で取得するために使用されます。ディレクトリ内の項目を取得する際に、コールバック関数の代わりにPromiseを返す点が特徴です。
パラメータの説明
引数 | 型 | 用途 |
---|---|---|
path | string | ディレクトリのパスを指定 |
options | Object | オプションを指定(例:{ withFileTypes: true }) |
戻り値
Promiseを返すため、非同期処理を行い、ディレクトリ内の項目の一覧を取得する。返り値は取得したファイルやディレクトリの名前の配列となる。
使用例
ディレクトリ内のファイル一覧を取得する例:
const fs = require('fs').promises;
(async () => {
try {
const files = await fs.readdir('./');
console.log(files);
} catch (error) {
console.error(error);
}
})();
特定のオプションを指定して取得する例:
const fs = require('fs').promises;
(async () => {
try {
const items = await fs.readdir('./', { withFileTypes: true });
console.log(items);
} catch (error) {
console.error(error);
}
})();
関連する関数
fs.promises.readdirの代わりにfs.readdirSyncを使うこともできます。ただし、後者は同期処理を行うため、非同期処理を好む場合はfs.promises.readdirを使用することが推奨されます。
まとめ
fs.promises.readdirは、非同期でディレクトリ内の項目を取得するための便利な関数です。適切に使うことで、ファイルシステム操作を効率的に行うことができます。ただし、非同期処理の理解が必要な点に留意する必要があります。