所以我很困惑函數(err,data)回調是如何工作的,第一個參數總是錯誤處理程序?瞭解函數(錯誤,數據)回調
如果你有類似函數(x,y,z,a,b,c)的話,那麼剩下的參數呢?
fs.readFile中的數據如何從代碼的第一行傳遞到代碼的底部?換句話說,fs.readFile的輸出如何被放入數據參數?
fs.readFile(pathToFile, function (err, **data**) {
bufferString = **data**.toString();
我可以替換爲函數(X,Y)和功能(X,Y,Z,A,B,C)
但是,只有第二個參數工作功能(ERR,數據)(數據和y),這只是JavaScript回調的語法?
例如,這是工作碼異步讀取文件,並打印出給定的文件的行數:
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);
回調簽名由函數調用確定 - 「readFile」指示2參數回調。這裏沒有魔法。 – Joe
謝謝喬!我想我已經對此進行了深入分析,但它絕對有助於我理解! – enducat