📜  Node.js zlib.createDeflate() 方法

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

Node.js zlib.createDeflate() 方法

zlib.createDeflate() 方法是 Zlib 模块的内置应用程序编程接口,用于创建新的 Deflate 对象。

句法:

zlib.createDeflate( options )

参数:此方法接受单个参数选项,该选项是包含 zlib 选项的可选参数。

返回值:它返回一个新的 Deflate 对象。

下面的例子说明了 Node.js 中zlib.createDeflate() 方法的使用:

示例 1:

// Node.js program to demonstrate the     
// createDeflate() method
  
// Including zlib and fs module
const zlib = require("zlib");
const fs = require('fs');
  
// Creating readable Stream
const inp = fs.createReadStream('input.txt');
  
// Creating writable stream
const out = fs.createWriteStream('input.txt.gz');
  
// Calling createDeflate method
const def = zlib.createDeflate();
  
// Piping
inp.pipe(def).pipe(out);
console.log("Program Completed!");

输出:

Program Completed!

示例 2:

// Node.js program to demonstrate the     
// createDeflate() method
  
// Including zlib and fs module
const zlib = require("zlib");
const fs = require('fs');
  
// Creating readable Stream
const inp = fs.createReadStream('input.txt');
  
// Creating writable stream
const out = fs.createWriteStream('input.txt.gz');
  
// Calling createDeflate method
const def = zlib.createDeflate();
  
// Piping
inp.pipe(out).pipe(def);
console.log("Program Completed!");

输出:

Error [ERR_STREAM_CANNOT_PIPE]: Cannot pipe, not readable
    at WriteStream.Writable.pipe (_stream_writable.js:243:24)
    at /home/runner/CorruptFlawedSoftwaresuite/index.js:19:15
    at Script.runInContext (vm.js:133:20)
    at Object. (/run_dir/interp.js:156:20)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)

在这里,管道没有按正确的顺序完成,因此会引发错误。

参考: https://nodejs.org/api/zlib.html#zlib_zlib_createdeflate_options