Prosty przykład wywołania zwrotnego nodejs z fs.readFile

Próbuję nauczyć się programowania asynchronicznego i zmagałem się z lekcją 4 nodeschool.io z implementacją async io z callbackami.

Zasadniczo próbuję użyć fs.readFile do policzenia liczby nowych linii w pliku za pomocą wywołania zwrotnego.

Oto mój kod:

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);

Rozumiem, że wywołania zwrotne są wykonywane po zakończeniu wykonywania kodu, więc nie powinno

var bufferString = buffer.toString();
var bufferStringSplit = bufferString.split('\n');

być wywołane po zakończeniu odczytu pliku z dysku przez fs.readFile ()?

W końcu callback () wywołuje logMyNumber, który powinien po prostu wygenerować liczbę wierszy, które ma plik.

questionAnswers(3)

yourAnswerToTheQuestion