zoukankan      html  css  js  c++  java
  • gulp常用插件之pump使用

    更多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代替。

  • 相关阅读:
    Java线程的学习(一)——以售票系统为例
    web笔记
    ssm2之applicationContext.xml文件配置
    ssm笔记1
    在ViewHolder中添加item点击事件接口(自定义
    Java反射机制
    新手导航页(小圆点
    jsoup
    TextView设置随机大小和颜色
    常用IO流
  • 原文地址:https://www.cnblogs.com/jiaoshou/p/12186728.html
Copyright © 2011-2022 走看看