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

  • 相关阅读:
    hostnamectl set-hostname liuge
    java.io.IOException: Could not locate executable nullinwinutils.exe in the Hadoop binaries.
    基于API和SQL的基本操作【DataFrame】
    DataFrame 转换为Dataset
    RDD转换为DataFrame【反射/编程】
    WordCount程序【Spark Streaming版本】
    基于RDD实现简单的WordCount程序
    easyui禁止下拉框
    JavaScript join() 方法
    JavaScript push() 方法
  • 原文地址:https://www.cnblogs.com/jiaoshou/p/12186728.html
Copyright © 2011-2022 走看看