美文网首页
官网可读流例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