私は与えられたパスを展開し、その下にあるすべてのフォルダとディレクトリのリストを与える小さなライブラリを作成しています。Node.jsアプリケーションは、readdirコールバックを待つ間に終了します
フォルダの内容は、次のようになります読み込み機能:このコールバックを待っている間
function loadFolderContents(folder: string): Rx.Observable<string[]>{
console.log(`loading path content: ${folder}`)
const readDirObservable = Rx.Observable.fromNodeCallback<string[]>(fs.readdir)
return readDirObservable(folder)
.catch(() => Rx.Observable.empty())
.do(folderContents => console.log(`loading path content: ${folder} COMPLETE - ${folderContents}`))
.map(folderContents => folderContents.map(filepath => path.join(folder, filepath)));
}
何とか自分のアプリケーションを終了...
私はCをスキャンしようとしています例として:ドライブ。 Cドライブの内容は正しく読み込まれ、20個のサブフォルダがロードされます。その後、約3つのサブフォルダを読み込み、4番目のファイルをロードしようとしました。エラーやログなどはありません。
ランダムタイムアウトを設定することでこれを修正したくないので、なぜこのプログラムがこのように終了しているのか理解したいと思います。
フルコードはhereです。
します。エラーが発生したときに.catch(()=> Rx.Observable.empty())が呼び出されますか? –