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