【问题标题】:Nodejs and Streams - A detailed overview?Nodejs 和 Streams - 详细概述?
【发布时间】:2011-10-11 11:12:25
【问题描述】:

谁能向我们解释一下(只有我?)如何在 Nodejs 中使用 Streams?

这是对此的后续:Compression and decompression of data using zlib in Nodejs

我的主要兴趣是处理文件,还有字符串(即 Stream.toString() 和 String.toStream()...不是真正的函数...)

谢谢!

【问题讨论】:

    标签: node.js stream


    【解决方案1】:

    流是由 Node.js 中的各种对象实现的抽象接口。例如,对 HTTP 服务器的请求是一个流,标准输出也是。流是可读的、可写的或两者兼而有之。所有的流都是 EventEmitter 的实例。 (Streams Documentation)

    这意味着 Stream 是几个 Node 核心对象用来读取和/或写入信息的有用对象。核心对象都使用它来改进将信息从一个对象传递到另一个对象的方式。由于 Stream 是 EventEmitter 的一个实例,因此您的代码可以是异步的,并且在从某处读取信息时不会停止。

    // imagine 'response' is the output Stream from a client connection
    var video = fs.createReadStream("/path/to/video.mpg");
    // pipe video to response (while data is being read asynchronously)
    video.pipe(response);
    

    检查stream.pipe

    例如,在从文件中读取视频时将视频流式传输到 HTTP 客户端。或将上传流式传输到本地文件。发挥你的想象力。

    【讨论】:

    • 这就是他们说某事是 EventEmitter 的实例的意思,即他们想声明它是异步的!当您阅读一些内容并回答您脑海中浮现的杂项问题时。我会保留那个。谢谢@dresende
    猜你喜欢
    • 2014-08-26
    • 1970-01-01
    • 2022-06-19
    • 2012-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多