📜  Node.js Stream transform.destroy() 方法

📅  最后修改于: 2022-05-13 01:56:37.849000             🧑  作者: Mango

Node.js Stream transform.destroy() 方法

可读流中的transform.destroy() 方法用于销毁转换流,并且还可以选择发出“错误”事件。此外,在进行此调用后,转换流会释放所有内部资源。

句法:

transform.destroy( error )

参数:此方法接受单个参数错误,该错误可选择性地发出错误事件。

返回值:如果在创建流时发生任何错误,它会发出错误事件,否则它只会破坏转换流。

下面的示例说明了在 Node.js 中使用transform.destroy() 方法

示例 1:

// Node.js program to demonstrate the     
// transform.destroy() method
  
// Accessing zlib module
var zlib = require("zlib");
  
// Create a transform stream
var transform = zlib.createGzip();
  
// Calling destroy method
transform.destroy();
transform.destroyed;

输出:

true

示例 2:

// Node.js program to demonstrate the     
// transform.destroy() method
   
// Accessing fs module
var fs = require("fs");
  
// Accessing zlib module
var zlib = require("zlib");
  
// Create a readable stream
var readable = fs.createReadStream('input.text');
  
// Create a writable stream
var writable = fs.createWriteStream('output.text');
  
// Create a transform stream
var transform = zlib.createGzip();
  
// Calling pipe method
readable.pipe(transform).pipe(writable);
  
// Calling destroy method
transform.destroy();
console.log("done...");

输出:

done...

在这里,转换流被破坏,因此管道也被移除。

参考: https://nodejs.org/api/stream.html#stream_transform_destroy_error