RT 我在看书《Node现学现用》里面,第68页出现了这样的一句话
最基本的流如例 4-16 所示,它从一个文件里把数据分块读取。每当一个新的数据块准备好的时候,它会把数据以变量 data 的形式传给回调函数。
例 4-16是这样的
var fs = require('fs');
var filehandle = fs.readFile('data.txt', function(err, data) {
console.log(data);
})
但我很怀疑这句话的真实性 它从一个文件里把数据分块读取。每当一个新的数据块准备好的时候,它会把数据以变量 data 的形式传给回调函数。 所以我进行了如下测试
var fs = require('fs');
var i = 0;
fs.readFile('k.rar', function(err, data) {
console.log(++i)
//console.log(data);
})
这里的文件是一个900MB+的文件,但是最后console还是只输出了1,虽然在输出前等待了数秒。
所以我想问的是,这里的数据(data变量)是一块一块传过来的,还是等整个文件读完再全部调用回来。 谢谢
7 回复