Я пишу небольшую библиотеку, которая расширит данный путь и предоставит список всех папок и каталогов под ним.Приложение 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 правильно загружено, возможно, загружено 20 подпапок. Затем он загружает около 3 подпапок и пытается загрузить 4-й, а затем просто умирает. Нет ошибки или журнала или чего-то еще.
Я не хочу исправлять это, устанавливая случайные таймауты, я хочу понять, почему программа выходит так.
Полный код here.
Благодаря
делает .catch (() => Rx.Observable.empty()) вызывается при возникновении ошибки? –