美文网首页
官网可读流例1解析

官网可读流例1解析

作者: 静昕妈妈芦培培 | 来源:发表于2021-02-23 13:23 被阅读0次
const {PassThrough, Writable} = require('stream')


const pass = new PassThrough()
const writable = new Writable()

//没有为pass提供消费流数据的机制,所以流不会产生数据,pass.readableFlowing === null,此时pass处于暂停模式
console.log(pass.readableFlowing)


pass.pipe(writable)
//调用 readable.pipe()会使 readable.readableFlowing 切换到 true,可读流开始主动地产生数据并触发事件。,此时pass处于流动模式
console.log(pass.readableFlowing)

pass.unpipe(writable)
//调用readable.unpipe(),则 readable.readableFlowing 会被设为 false,暂时停止事件流动但不会停止数据的生成。此时pass处于暂停模式
// 在这个状态下,为 'data' 事件绑定监听器不会使 readable.readableFlowing 切换到 true。
console.log(pass.readableFlowing)

//监听可读流数据的流动,此时监听不到,因为pass当前处于暂停模式
pass.on('data', (chunk) => {
    //默认接收到的数据是Buffer对象
    console.log(chunk)
    console.log(chunk.toString())
})
pass.write('ok')
pass.resume()

image.png image.png image.png image.png image.png

相关文章

网友评论

      本文标题:官网可读流例1解析

      本文链接:https://www.haomeiwen.com/subject/skmhfltx.html