Zrozumienie funkcji zwrotnych funkcji (err, data)
Więc jestem zdezorientowany, jak działa funkcja zwrotna funkcji (err, data), czy pierwszym argumentem jest zawsze obsługa błędów?
A co z pozostałymi argumentami, jeśli masz coś podobnego do funkcji (x, y, z, a, b, c)?
Jak dane z fs.readFile przechodzą z górnej linii kodu do dolnej linii kodu? Innymi słowy, w jaki sposób dane wyjściowe fs.readFile są umieszczane w argumencie danych?
fs.readFile(pathToFile, function (err, **data**) {
bufferString = **data**.toString();
Mogłem zastąpić funkcję (err, data) funkcją (x, y) i funkcją (x, y, z, a, b, c)
Ale działa tylko drugi argument (dane i y), czy to tylko składnia wywołań zwrotnych javascript?
Na przykład jest to działający kod do asynchronicznego odczytu pliku i wydrukowania liczby wierszy nadanych plikowi:
var fs = require('fs');
var pathToFile = process.argv[2];
var bufferString, bufferStringSplit;
function counter(callback) {
fs.readFile(pathToFile, function (err, data) {
bufferString = data.toString();
bufferStringSplit = bufferString.split('\n');
callback();
});
}
function logMyNumber() {
console.log(bufferStringSplit.length-1);
}
counter(logMyNumber);