Реализуйте программу, которая асинхронно прочитает файл и выведет количество строк, содержащихся в файле, в консоль (stdout) точно так же, как это сделала бы команда cat file | wc -l
.
Полный путь до файла будет передан в качестве первого аргумента командной строки.
Решение этой задачи практически такое же, как и предущее, только Вы должны сделать это в стиле Node.js: асинхронно.
Вместо fs.readFileSync()
нужно использовать fs.readFile()
и вместо того чтобы просто вернуть результат этого метода, Вы должны собрать вывод из функции обратного вызова, которую вы передадите вторым аргументом. Для получения большей информации о функциях обратного вызова, воспользуйтесь: https://github.com/maxogden/art-of-node#callbacks.
Примите во внимание то, что характерные для Node.js функции обратного вызова имеют следующую сигнатуру:
function callback (err, data) { /* ... */ }
Таким образом Вы можете узнать о наличии ошибки с помощью проверки первого аргумента функции на истинность. Если ошибки нет, то вы должны получить объект Buffer
в качестве второго аргумента. Как и с readFileSync()
вы можете указать вторым аргументом 'utf8' и передать функцию обратного вызова в третий аргумент и получить там в результ типа 'String' вместо 'Buffer'.
Документацию для fs
модуля вы сможете найти набрав в браузере:
/node_apidoc/fs.html