所以我很困惑函数(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