【问题标题】:Node.js: How can I determine whether a readable stream is at the end?Node.js:如何确定可读流是否在末尾?
【发布时间】:2015-08-19 08:26:55
【问题描述】:

我正在编写一个接受可读流作为参数的函数。我的函数如何确定给定的流是否已经结束?

以下是我已经排除的:

  • end 事件添加事件侦听器。如果流已经结束,则不会运行。

  • 测试stream.read() 是否返回null。 Null 可能意味着流已结束,但也可能意味着内部缓冲区为空。

我正在使用最新的 API 版本 (http://nodejs.org/docs/v0.12.7/api/stream.html)。有什么方法可以测试流是否在最后?

【问题讨论】:

    标签: node.js


    【解决方案1】:

    你可以检查任何一个

    readableStream.readable===false

    readableStream._readableState.ended===true

    它没有记录,但在检查源之后,看起来这些变量是在流结束时设置的。

    【讨论】:

    • Yecch — 我担心答案会涉及未记录的、以下划线为前缀的属性。
    猜你喜欢
    • 1970-01-01
    • 2011-06-24
    • 1970-01-01
    • 2018-04-11
    • 2012-12-28
    • 2014-10-29
    • 2016-06-04
    • 2012-08-19
    • 2012-09-30
    相关资源
    最近更新 更多