Node.js/了解 ReadStream.pipe 是否正在传输数据

标签 node.js stream

我尝试找到一种方法来检查管道是否卡住或数据仍在管道中。我有以下代码:

var downloadStream1 = download1.createReadStream();
var pipeOfDownloadClient = downloadStream1.pipe(response);

我尝试找到这样的事件:

pipeOfDownloadClient.on('data', function(data){
      logger.info("Data is piping");
})

但是当我这样做时,尽管数据已传输到客户端,但没有打印任何数据正在管道

最佳答案

您应该只检查 downloadStream1data 事件。它会准确地告诉您其 .pipe 是否仍在发出数据。

如果您检查pipeOfDownloadClient._events,它只会有以下3个事件:drainerrorclose。没有 data 事件。

关于Node.js/了解 ReadStream.pipe 是否正在传输数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30557255/

相关文章:

流和替代模型

java - Instant.readObject 方法 "Defend[s] against malicious streams"是什么意思?

node.js - 如何将背压应用于 Node 流?

node.js - 将链接放入 console.log()。 Node .js

node.js - 实时重新加载无法与 ember-cli 一起使用

javascript - Node.js 和 Express 上的 Twitter Bootstrap

java - XMLStreamReader 没有关闭打开的 xml 文件

javascript - 谷歌地图 API : calculate remaining time according to predefined route

node.js - -已修复-无法获取/express 和 Node js

c++ - 如何在 .cpp 文件中为私有(private)类成员定义 friend operator<< 而不是在 header 中?