在fs.readfile在使用fs.readfile.bind(context,pathArgument)时被调用
how does the callback in fs.readfile get called when using fs.readfile.bind(context,pathArgument)
如何在fs。当使用fs.readfile.bind(context,pathArgument)时,像这样调用readfile。//可以理解,因为我的任务函数知道回调参数
的名称async.series([function(callback){
//operation done callback()},...],finalCallback(err,result));
但//无法理解
async.series([fs.someOperation.bind(null,firstArgument),...],finalCallback(err,esult))
我相信我理解部分应用程序;然而,它看起来像这样。function(callback){ fs.someOperation(firstArgument, ????)}(asyncCallbackFunc)
,然后我不知道第二个参数怎么叫…
所有bind
所做的就是设置回调的上下文。它仍然是一个常规的回调。除了,它被明确地告知this
将是什么。看起来在您的情况下,它被设置为null
。
函数对象上的bind
函数允许您设置上下文,即在函数体内this
的值,以及允许您在调用bind
时传递一些参数时创建部分函数。
function add(a,b) {
console.log(this);
return a+b;
}
var newAdd = add.bind("hello world", 10);
newAdd
将是一个参数函数,它将被添加到10并返回结果。此外,当newAdd被调用时,"hello world"将被登录到控制台。
如果你的代码写了fs.readFile.bind(null, path)
这意味着返回函数只有一个参数也就是readfile的回调函数也就是说返回函数的形式是function(callback) { ... }
这正是需要传递给async.series
的
您发布的代码中的主要思想是创建一个只接受回调的部分函数,以便它可以传递给async.series
, null参数不起任何作用,但您需要传递一个上下文参数来调用绑定函数,因此null
被传递为上下文参数
相关文章:
- 为什么fs.readFile在windows上花费太多时间
- 为什么这个 fs.readFile 循环没有将其结果推送到我的数组
- Node res.write() and fs.readFile
- 使用Node.js'fs.readFile()返回字符串出现的行
- 在Meteor中使用fs模块获取Uncaught TypeError _fs2.default.readFile不是函数
- 节点.js解析 fs.readFile() 的意外数字转换
- fs.readFile 的替代方法,用于在 Express 中使用 res.json 时加载车把模板
- 使用 require vs fs.readFile 读取 json 文件内容
- Angular 没有从 FS.readFile 获取带有承诺的数据
- Async.series 不适用于 fs.readFile
- Javascript / NodeJs - fs.readFile 在读取文件之前使用回调
- 从 fs.readFile 获取数据
- Hapijs、fs.readfile、fs.writefile和childprocess.exec我如何控制异步
- 存储nodejs fs.readfile's产生一个变量并传递给全局变量
- 为什么fs.readFile返回缓冲区
- 为什么我不能使用响应?写入fs.readFile
- javascript回调-处理读取文件与fs.readFile
- 在fs.readfile在使用fs.readfile.bind(context,pathArgument)时被调用
- fs.readFile返回Buffer对象,toString将使终端报错
- React和Electron with Bablify: Uncaught TypeError: fs.readFile