use strict;
var fs = require('fs);
var readable = fs.createReadStream(__dirname + '/greet.txt', {encoding: 'utf8', highwaterMark: 32 * 1024 });
readable.on('data', function(chunk) {
console.log(chunk.length)
});
如果我理解正确,在节点中,可读流继承自EventEmitter,它允许它使用listener / .on方法。
但是,callback:,function(chunk){console.log(chunk.length)}如何知道chunk参数的值?
答案 0 :(得分:1)
EventEmitter实例有一个名为" emit"的方法,所以在fs readstream中的某个地方,就像这样调用
emitter.emit('data', chunk);
https://nodejs.org/api/events.html#events_passing_arguments_and_this_to_listeners
答案 1 :(得分:0)
回答你的评论,不,听众没有发现任何东西。反过来说,fs.createReadStream()
是一个事件发射器。 readable.on('data', function() { ... })
表示"可读,请在您发出数据时调用此函数"事件&#34 ;. 可读发出数据事件时,如果数据包含"提供",则调用所有已注册的侦听器(在您的示例中仅为function(chunk)
)并提供文档中详细说明的参数。