找出如何解決在運行舊的 Node 代碼時可能出現的 util.pump is not a function 錯誤。

如果在運行 Node.js 應用程序或代碼片段時出現 “util.pump is not a function” 錯誤,則是因為應用程序代碼過於陳舊,與當前的 Node.js 運行時不兼容。

Node.js 提供的 pump() 方法用於使用以下語法將可讀寫入可寫流:

util.pump(readableStream, writableStream)

該方法已經被廢棄很長時間,並且在 2016 年 4 月釋出的 Node.js 6.0 版本中被移除。

幸運的是,解決這個問題很簡單。

將上述語法替換為:

const { pipeline } = require('stream')

//...

pipeline(readableStream, writableStream, () => {})

第三個參數是當管道完成時將被調用的回調函數。

在此處閱讀有關 pipeline 的更多信息