news 2026/4/29 13:56:08

Napi::ArrayBuffer

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Napi::ArrayBuffer

ArrayBuffer

Napi::ArrayBuffer类继承自Napi::Object类。

Napi::ArrayBuffer类对应于 JavaScript 中的ArrayBuffer类。

方法

New

分配一个具有指定长度的新Napi::ArrayBuffer实例。

static Napi::ArrayBuffer Napi::ArrayBuffer::New(napi_env env, size_t byteLength);
  • [in] env:用于创建Napi::ArrayBuffer实例的环境。
  • [in] byteLength:要分配的长度(以字节为单位)。

返回一个新的Napi::ArrayBuffer实例。

New

当定义了NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED时,此方法不可用。更多信息参见 [External Buffer][]。

将提供的外部数据包装到新的Napi::ArrayBuffer实例中。

Napi::ArrayBuffer实例不拥有数据的所有权,并且要求数据在实例的生命周期内保持有效。由于Napi::ArrayBuffer会受到垃圾回收的影响,此重载版本仅适用于静态且永远不需要释放的数据。当Napi::ArrayBuffer被垃圾回收时,此工厂方法不会为调用者提供释放数据的机会。如果需要释放Napi::ArrayBuffer对象所保留的数据,请使用Napi::ArrayBuffer::New工厂方法的其他变体,这些变体接受Napi::Finalizer(一个在Napi::ArrayBuffer对象被销毁时会被调用的函数)。更多细节参见 [Finalization][]。

static Napi::ArrayBuffer Napi::ArrayBuffer::New(napi_env env, void* externalData, size_t byteLength);
  • [in] env:用于创建Napi::ArrayBuffer实例的环境。
  • [in] externalData:要包装的外部数据的指针。
  • [in] byteLengthexternalData的长度(以字节为单位)。

返回一个新的Napi::ArrayBuffer实例。

New

当定义了NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED时,此方法不可用。更多信息参见 [External Buffer][]。

将提供的外部数据包装到新的Napi::ArrayBuffer实例中。

Napi::ArrayBuffer实例不拥有数据的所有权,并且要求数据在实例的生命周期内保持有效。只有当finalizeCallback被调用以表明Napi::ArrayBuffer已被释放时,数据才能被释放。

template <typename Finalizer> static Napi::ArrayBuffer Napi::ArrayBuffer::New(napi_env env, void* externalData, size_t byteLength, Finalizer finalizeCallback);
  • [in] env:用于创建Napi::ArrayBuffer实例的环境。
  • [in] externalData:要包装的外部数据的指针。
  • [in] byteLengthexternalData的长度(以字节为单位)。
  • [in] finalizeCallback:当引擎销毁Napi::ArrayBuffer对象时调用的函数,实现operator()(Napi::BasicEnv, void*)。更多细节参见 [Finalization][]。

返回一个新的Napi::ArrayBuffer实例。

New

当定义了NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED时,此方法不可用。更多信息参见 [External Buffer][]。

将提供的外部数据包装到新的Napi::ArrayBuffer实例中。

Napi::ArrayBuffer实例不拥有数据的所有权,并且要求数据在实例的生命周期内保持有效。只有当finalizeCallback被调用以表明Napi::ArrayBuffer已被释放时,数据才能被释放。

template <typename Finalizer, typename Hint> static Napi::ArrayBuffer Napi::ArrayBuffer::New(napi_env env, void* externalData, size_t byteLength, Finalizer finalizeCallback, Hint* finalizeHint);
  • [in] env:用于创建Napi::ArrayBuffer实例的环境。
  • [in] externalData:要包装的外部数据的指针。
  • [in] byteLengthexternalData的长度(以字节为单位)。
  • [in] finalizeCallback:当引擎销毁Napi::ArrayBuffer对象时调用的函数,实现operator()(Napi::BasicEnv, void*, Hint*)。更多细节参见 [Finalization][]。
  • [in] finalizeHint:传递给finalizeCallback函数的提示值。

返回一个新的Napi::ArrayBuffer实例。

构造函数

初始化Napi::ArrayBuffer类的空实例。

Napi::ArrayBuffer::ArrayBuffer();

构造函数

初始化现有Napi::ArrayBuffer对象的包装实例。

Napi::ArrayBuffer::ArrayBuffer(napi_env env, napi_value value);
  • [in] env:用于创建Napi::ArrayBuffer实例的环境。
  • [in] value:要包装的Napi::ArrayBuffer引用。

ByteLength

size_t Napi::ArrayBuffer::ByteLength() const;

返回包装数据的长度(以字节为单位)。

Data

void* Napi::ArrayBuffer::Data() const;

返回指向包装数据的指针。

Detach

void Napi::ArrayBuffer::Detach();

对可分离的ArrayBuffer执行ArrayBuffer分离操作。

IsDetached

bool Napi::ArrayBuffer::IsDetached() const;

如果此ArrayBuffer已被分离,则返回true

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 5:37:05

降低知网AIGC疑似度不用求人!1个降率网站+3条改写指令

2025年起&#xff0c;高校已明确要求毕业论文要检测AIGC率&#xff0c;AI率高于30%或40%就不能参加答辩&#xff0c;而部分学校、硕士论文更加严格&#xff0c;要求在20%以内。 这其中&#xff0c;大多数高校使用的AIGC检测系统是知网、万方、维普等主流查重系统&#xff0c;这…

作者头像 李华
网站建设 2026/4/22 16:49:41

视频直播点播平台EasyDSS视频直播功能特点与应用场景解析

在数字化时代&#xff0c;视频直播已成为企业通信、在线教育、娱乐互动等领域不可或缺的一部分。EasyDSS作为一款高效的视频直播点播平台&#xff0c;凭借其稳定的直播功能和灵活的部署方式&#xff0c;受到了开发者和企业的广泛关注。本文将深入探讨EasyDSS视频直播功能的技术…

作者头像 李华
网站建设 2026/4/23 15:17:27

区块链存证节点搭建:金融行业审计证据链构建指南

区块链存证节点搭建&#xff1a;金融行业审计证据链构建指南金融科技的迅猛发展&#xff0c;金融行业对数据安全与透明度的要求越来越高。特别是在监管趋严和风险控制日益复杂的背景下&#xff0c;传统审计证据链的构建方式已逐渐暴露出信息不透明、篡改风险高、存证成本大等问…

作者头像 李华
网站建设 2026/4/22 14:35:13

基于知识图谱的RAG

RAG(Retrieval Augmented Generation,检索增强生成)是结合检索与生成的AI技术,核心思想是“先检索、后生成”:先从外部知识库(文档、数据库等)中查找与问题相关的信息片段,再将检索内容作为上下文输入大语言模型(LLM),生成更准确、可靠的回答。其效果优化主要分为检…

作者头像 李华