Node.js – v8.deserializer.readHeader() 方法
该V8。deserializer.readHeader()方法用于读取和验证标头。它还检查格式版本。遇到无效或不受支持的有线格式时会引发错误。
语法
v8.deserializer.readHeader()
参数
由于它从内部缓冲区读取标头,因此不需要任何输入参数。反序列化标头后,它将返回True。
示例1
创建名为“readHeader.js”snippet.After的文件并复制以下创建文件的代码,使用命令“nodereadHeader.js”运行此代码。
//v8.deserializer.readHeader()演示示例
//导入v8模块
const v8 = require('v8');
//定义序列化器对象
const serializer = new v8.Serializer();
//将标头写入内部缓冲区
serializer.writeHeader();
//定义反序列化器对象
const deserializer = new v8.Deserializer(serializer.releaseBuffer());
//从内部缓冲区读取标头
console.log(deserializer.readHeader());
//从内部缓冲区打印标题值
console.log(serializer.releaseBuffer());输出结果C:\home\node>> node readHeader.js undefined
示例2
让我们再看一个例子
//v8.serializer.readHeader()演示示例
//导入v8模块
const v8 = require('v8');
//定义序列化器对象
const serializer = new v8.Serializer();
//使用writeUint32写入一些值
console.log(serializer.writeUint32(7869));
//将标头写入内部缓冲区
serializer.writeHeader();
//定义反序列化器对象
const deserializer = new
v8.Deserializer(serializer.releaseBuffer());
//从内部缓冲区读取标头
console.log(deserializer.readHeader());
//从内部缓冲区打印标题值
console.log(serializer.releaseBuffer());输出结果C:\home\node>> node readHeader.js
undefined
/home/mayankaggarwal/mysql-test/util.js:18
console.log(deserializer.readHeader());
^
Error: Unable to deserialize cloned data due to invalid or
unsupported version.
at Object. (/home/node/readHeader .js:18:26)
atModule._compile(internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js
(internal/modules/cjs/loader.js:789:10)
atModule.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)
at Function.Module.runMain
(internal/modules/cjs/loader.js:831:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)