已采纳回答 / 慕斯卡3222755
_read() 这个方法属于stream.Readable里面的,因为使用了utils.inherits(ReadStream,stream.Readable),所以ReadStream.prototype == stream.Readable,只是在这里实现_read()方法重写,实现自定义逻辑。在调用ReadStream实例对象的pipe方法会自动调用_read()方法实现数据的读取。
2017-04-17
最新回答 / 幻月教主3821413
好像和版本有关,如果你的node够新的话,可以引入es6特性,使用class+extends方式继承,可以参考一下我的代码,效果和老师的一样var stream=require('stream');class ReadStream extends stream.Readable { _read...
2017-04-17
我觉得老师应该根据6.0版本以上的api来讲,不然,好多东西已经抛弃了,容易误导
2017-04-15
因为 new Buffer() 的行为会根据所传入的第一个参数的值的数据类型而明显地改变,所以如果应用程序没有正确地校验传给 new Buffer() 的参数、或未能正确地初始化新分配的 Buffer 的内容,就有可能在无意中为他们的代码引入安全性与可靠性问题。
为了使 Buffer 实例的创建更可靠、更不容易出错,各种 new Buffer() 构造函数已被 废弃,并由 Buffer.from()、Buffer.alloc()、和 Buffer.allocUnsafe() 方法替代。
为了使 Buffer 实例的创建更可靠、更不容易出错,各种 new Buffer() 构造函数已被 废弃,并由 Buffer.from()、Buffer.alloc()、和 Buffer.allocUnsafe() 方法替代。
2017-04-13
new Buffer()现在已经废弃了。可以用 Buffer.alloc(size) Buffer.from(str)这样来写了
// 创建一个长度为 10、且用 0 填充的 Buffer。
const buf1 = Buffer.alloc(10);
// 创建一个长度为 10、且用 0x1 填充的 Buffer。
const buf2 = Buffer.alloc(10, 1);
// 创建一个长度为 10、且用 0 填充的 Buffer。
const buf1 = Buffer.alloc(10);
// 创建一个长度为 10、且用 0x1 填充的 Buffer。
const buf2 = Buffer.alloc(10, 1);
2017-04-13