Простой пример обратного вызова nodejs с fs.readFile
Я пытался выучить асинхронное программирование и боролся с уроком 4 файла nodechool.io с реализацией асинхронного ввода-вывода с обратными вызовами.
В основном яЯ пытаюсь использовать fs.readFile для подсчета количества строк в файле с помощью обратного вызова.
Вот'мой код:
var fs = require('fs');
var pathToFile = process.argv[2];
function counter(callback) {
var buffer = fs.readFile(pathToFile, function (err, data) {
var bufferString = buffer.toString();
var bufferStringSplit = bufferString.split('\n');
});
callback();
}
function logMyNumber() {
console.log(bufferStringSplit.length-1);
}
counter(logMyNumber);
Я понимаю, что обратные вызовы выполняются после завершения строки кода, поэтому не следуетт
var bufferString = buffer.toString();
var bufferStringSplit = bufferString.split('\n');
вызываться после того, как fs.readFile () закончит чтение файла с диска?
Затем, наконец, callback () вызывает logMyNumber, который должен просто вывести количество строк в файле.