util.pump(streamA,streamB)和streamA.pipe(streamB)之间有什么区别?

问题描述 投票:5回答:3

源代码看起来非常相似:pumppump。为什么我要使用一个而不是另一个?一个仅仅是另一个的更好的版本吗?

node.js stream
3个回答
4
投票

显然,由于0.3.x,Stream.pipe现在是首选方法,因此请尽可能尝试并使用它

来源:

pipe

pipe


3
投票

两者之间有两个重大区别。第一个是https://groups.google.com/forum/?fromgroups#!topic/nodejs/FwdDQvAf4xM方法可以对两个“类流”对象进行操作,而https://stackoverflow.com/a/4591335/424851假定它们是流对象。第二个是因为这样的假设,util.pump可以链接(Stream.prototype.pipe),而前者不能(轻松)。

UPDATE:28/04/2020

值得一提的是,仅对于Node.js 8.x或更早版本,才需要pipe,对于Node.js 10.x或更高版本,引入了streamA | streamB | streamC来代替pump。这是一种模块方法,用于在流转发错误和正确清理之间进行管道传输,并在管道完成后提供回调。

0
投票

UPDATE:28/04/2020

© www.soinside.com 2019 - 2024. All rights reserved.