У меня есть приложение NodeJS, которое использует API fs
для чтения файлов из дерева каталогов. Я использую модуль fs-walk
, чтобы ходить по дереву. Для каждого найденного подкаталога эта же функция снова выполняет его обработку. (Я не думаю, что это рекурсия, скорее, одна и та же функция привязана к событию, которое запускается каждый раз, когда обрабатывается каталог.) Файлы обрабатываются с помощью другой функции, которая делает вещи для них.NodeJS fs API: обнаружение асинхронного завершения
Я хотел бы выполнить произвольный код, как только все файлы были прочитаны без использования синхронного или блокирующего кода. Я не мог найти способ отслеживать количество файлов в каталоге (например, для обратного отсчета), а также не мог найти какой-либо атрибут в fs.stat
, чтобы указать, что вся операция завершена.
Если бы кто-нибудь нашел способ сделать это еще? Я не мог найти ничего в документах узлов или переполнении стека.
Я сделал это в моем модуле: https://github.com/micnic/simpleS/blob/master/lib/cache.js, проверить его, он проходит через дерево каталогов, кэшировать каталоги и файлы, сохранить их статистику и следить за изменениями – micnic