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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM