- Node.js教程
- Node.js - 教程
- Node.js - 简介
- Node.js - 环境设置
- Node.js - 首次申请
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调概念
- Node.js - 上传文件
- Node.js - 发送电子邮件
- Node.js - 活动
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 流程
- Node.js - 扩展应用程序
- Node.js - 包装
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 缓冲器
- Node.js - Streams
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 快速入门
- Node.js - MySQL创建数据库
- Node.js - MySQL创建表
- Node.js - MySQL Insert Into
- Node.js - MySQL Select From
- Node.js - MySQL Where 子句
- Node.js - MySQL Order By
- Node.js - MySQL Delete
- Node.js - MySQL Update
- Node.js - MySQL Join
- Node.js MongoDB
- Node.js - MongoDB 快速入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB Insert
- Node.js - MongoDB Find
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB Delete
- Node.js - MongoDB Update
- Node.js - MongoDB Limit
- Node.js - MongoDB Join
- Node.js模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - utility 模块
- Node.js - Web 模块
NodeJS - v8.deserializer.readHeader() 方法
v8.deserializer 类的 NodeJS v8.deserializer.readHeader() 方法用于读取和验证内部缓冲区中的标头。
此方法还确保 Header 是否包含有效的序列化格式版本。
如果 Header 有效,则此方法返回 true,否则将引发错误。
语法
以下是NodeJS v8.deserializer.readHeader()方法的语法 -
v8.deserializer.readHeader()
参数
此方法不接受任何参数。
返回值
此方法在反序列化程序上读取内部缓冲区的 Header ,并对其进行验证,包括格式版本。如果 Header 有效,则返回 true。否则,它会抛出错误。
例在以下示例中,首先,我们尝试使用 v8.serializer.writeHeader() 方法将 Header 写入内部缓冲区。然后我们尝试使用 v8.deserializer.readHeader() 方法读取和验证 Header 。
// Importing the v8 module
const v8 = require('v8');
// Defining the serializer object
const serializer = new v8.Serializer();
// Writing the headers to the internal buffer
serializer.writeHeader();
// Defining the deserializer object
const deserializer = new v8.Deserializer(serializer.releaseBuffer());
// Reading the headers from internal buffer
console.log(deserializer.readHeader());
// Printing the header values from internal buffer
console.log(serializer.releaseBuffer());
输出
true
<Buffer >
<Buffer >
例
在此示例中,我们尝试编写一个 32 位无符号整数,而不是前往内部缓冲区。因此,readHeader() 方法将抛出错误。
// Importing the v8 module
const v8 = require('v8');
// Defining the serializer object
const serializer = new v8.Serializer();
// Writing a 32-bit unsigned integer to the internal buffer
serializer.writeUint32(7869);
// Defining the deserializer object
const deserializer = new v8.Deserializer(serializer.releaseBuffer());
// Reading the headers from internal buffer
console.log(deserializer.readHeader());
// Printing the header values from internal buffer
console.log(serializer.releaseBuffer());
错误
以下是上述代码的输出 -
/home/cg/root/63b66d48bc404/main.js:14
console.log(deserializer.readHeader());
^
Error: Unable to deserialize cloned data due to invalid or unsupported version.
at Object.<anonymous> (/home/cg/root/63b66d48bc404/main.js:14:26)
at Module._compile (internal/modules/cjs/loader.js:702:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
at Module.load (internal/modules/cjs/loader.js:612:32)
at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
at Function.Module._load (internal/modules/cjs/loader.js:543:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
at startup (internal/bootstrap/node.js:238:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)
console.log(deserializer.readHeader());
^
Error: Unable to deserialize cloned data due to invalid or unsupported version.
at Object.<anonymous> (/home/cg/root/63b66d48bc404/main.js:14:26)
at Module._compile (internal/modules/cjs/loader.js:702:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
at Module.load (internal/modules/cjs/loader.js:612:32)
at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
at Function.Module._load (internal/modules/cjs/loader.js:543:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
at startup (internal/bootstrap/node.js:238:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)