我尝试找到一种方法来检查管道是否卡住或数据仍在管道中。我有以下代码:
var downloadStream1 = download1.createReadStream();
var pipeOfDownloadClient = downloadStream1.pipe(response);
我尝试找到这样的事件:
pipeOfDownloadClient.on('data', function(data){
logger.info("Data is piping");
})
但是当我这样做时,尽管数据已传输到客户端,但没有打印任何数据正在管道
。
最佳答案
您应该只检查 downloadStream1
的 data
事件。它会准确地告诉您其 .pipe
是否仍在发出数据。
如果您检查pipeOfDownloadClient._events
,它只会有以下3个事件:drain
、error
和close
。没有 data
事件。
关于Node.js/了解 ReadStream.pipe 是否正在传输数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30557255/