結論
以下のように書いた関数の戻り値は Promise となります。
async function currentDirFileNames(path: string) { const fs = require('fs') const fsPromises = fs.promises return fsPromises.readdir(path) }
例
1. 戻り値が Promise であることの確認
下記のファイルを app.ts
として保存し、実行してみます。
async function currentDirFileNames(path: string) { const fs = require('fs') const fsPromises = fs.promises return fsPromises.readdir(path) } console.log(currentDirFileNames('./'))
$ ts-node app.ts Promise { <pending> }
2. then() を使って具体的な戻り値を取得する
具体的な戻り値を取得してみます。
async function currentDirFileNames(path: string) { const fs = require('fs') const fsPromises = fs.promises return fsPromises.readdir(path) } currentDirFileNames('./').then((result) => { // ここに具体的な戻り値である result を用いた処理を書く console.log(result) console.log(Array.isArray(result)) })
上記のファイルを app2.ts
と保存し、実行してみます。すると、カレントディレクトリにあるファイル名の一覧を、配列で表示することができます。
$ ts-node app2.ts [ 'app.ts', 'app2.ts' ] true