【问题标题】:What is the difference between pump and pipe?泵和管道有什么区别?
【发布时间】:2018-08-25 12:12:01
【问题描述】:

经验丰富的 node js 开发者经常建议使用npm pump 模块而不是 node Stream.pipe 方法。

为什么我要使用一个而不是另一个?

有一个similar looking question in SO,但它已有 6 年历史。它的节点已经是 9.8.0,我猜从那时起情况发生了变化。

【问题讨论】:

  • 旧的 SO 问题是关于 pump 的,它与模块 pump 完全无关(by mafintosh)。

标签: javascript node.js stream


【解决方案1】:

来自pump自述文件:

当使用标准source.pipe(dest) 时,source 不会在dest 发出关闭或错误时被销毁。您也无法提供回调来告知管道何时完成。

【讨论】:

    【解决方案2】:

    TL;DR:使用pipeline

    对于 Node.js 10.x 或更高版本,引入 pipeline 来代替 pump。这是一种模块方法,用于在流之间进行管道转发错误并正确清理,并在管道完成时提供回调。

    但是pipepipeline 之间有什么区别? 你可以找到我的答案here

    【讨论】:

      猜你喜欢
      • 2021-05-08
      • 2013-09-05
      • 2020-03-21
      • 2015-02-02
      • 2021-08-10
      • 2010-09-16
      • 2019-10-07
      • 2020-03-11
      相关资源
      最近更新 更多