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)