我难以理解,为什么下面的方法起作用,也就是说,为什么read()
函数的调用实际上返回存储在可读流中的对象。
const { Readable } = require('stream')
var r = new Readable({objectMode: true, read: () => {}}) // dummy read
var a = [1,2,3,4,5,6,7]
r.push(...a)
现在,当我调用r.read()
时,我得到了推送到可读流r
中的数字
r.read() // -> 1
r.read() // -> 2
// etc
但是在创建可读流时,我在上面提供了一个“虚拟” read
函数(read: () => {}
)。那么,为什么在调用read
时找回值?
我们将不胜感激。
答案 0 :(得分:1)
答案很简单。您正在调用push
实现应调用的read
方法。
push
的目的是说:这是我从源代码中读取的内容,但不必从内部方法中调用。
换句话说:
您只是跳过了前两个步骤,而是从外部推送了数据。