更多gulp常用插件使用请访问:gulp常用插件汇总


pump这是一款小型节点模块,可将流连接在一起并在其中一个关闭时将其全部销毁。

使用标准source.pipe(dest)源时,如果dest发出关闭或错误,则不会破坏源。您也无法提供回调以告知管道何时完成。帮你做这两件事

更多使用文档请点击访问pump工具官网

为什么我们使用pump

当使用Node.js流中的管道时,错误不会通过管道流传播,如果目标流关闭,则源流不会关闭。 泵模块将这些问题规范化,并在回调中传递错误。

其实说白了就是pump可以使我们更容易找到代码出错位置.

当我们使用pipe出错时可能会提示

而使用了pump会提示

安装

一键安装不多解释

npm install --save-dev pump

使用

只需将要管道传递的流传递到泵并添加可选的回调

var pump = require('pump')
var fs = require('fs') var source = fs.createReadStream('/dev/random')
var dest = fs.createWriteStream('/dev/null') pump(source, dest, function(err) {
console.log('pipe finished', err)
}) setTimeout(function() {
dest.destroy() //当dest为闭式泵会破坏源
}, 1000)

您还可以使用泵将两个以上的流也管道在一起

var transform = someTransformStream()

pump(source, transform, anotherTransform, dest, function(err) {
console.log('pipe finished', err)
})

如果sourcetransformanotherTransformdest关闭所有的人都将被销毁。

与相似stream.pipe()pump()返回传入的最后一个流,因此您可以执行以下操作:

return pump(s1, s2) // returns s2

请注意,pump将错误处理程序附加到流上以进行内部错误处理,因此,如果s2在上述情况下发出错误,则proccess.on('uncaughtException')如果您不侦听它,将不会触发a 。

如果要将组合了 s1和s2 的流返回到单个流,请使用 Pumpify代替。

最新文章

  1. java spring hibernate
  2. 让所有的浏览器都支持html5
  3. java Thread和Runnable区别
  4. 网页优化URI(http URI scheme与data URI scheme)
  5. How to Use a Function or a Procedure as a Parameter in another Function
  6. OGG配置
  7. 获取windows版本信息
  8. 解决 jsp eclipse异常 【The import javax.servlet cannot be resolved】
  9. C# DES_AES_MD5_加密_解密
  10. FreeCodeCamp:Return Largest Numbers in Arrays
  11. QT断点续传(原理:需要在HTTP请求的header中添加Rang节,告诉服务器从文件的那个位置开始传输.格式为bytes 开始传输的位置)
  12. mysql报错1024-can't get hostname for your address
  13. 关于Container With Most Water的求解
  14. VirtualBox的快照功能
  15. sql with as 用法(转载)
  16. JAVA_SE基础——34.static修饰成员变量
  17. 消息中间件activemq的使用场景介绍(结合springboot的示例)
  18. 使用Eclipse、Tomcat遇到的一些问题
  19. 解决ubuntu系统中firefox无法播放网页版音乐播放器音乐
  20. Linux audit安全审计工具

热门文章

  1. coroutine - yield from
  2. Asp.net core下利用EF core实现从数据实现多租户(3): 按Schema分离 附加:EF Migration 操作
  3. [MacOS]Sublime text3 安装(一)
  4. Java之——23种设计模式汇总
  5. drf token刷新配置、认证组件(使用)、权限组件(使用)、频率组件(使用)、异常组件(使用)
  6. Thinkphp 前端视图输出日期时间戳自动转换为时间格式化年月日
  7. IO包中的RandomAccessFile类
  8. Magicodes.IE基础教程之导出Pdf
  9. js this是什么?[多次书写]
  10. OpenLayers动态测量距离和面积,并可自定义测量的线样式