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.