news 2026/4/18 15:16:12

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/18 9:42:27

什么是AI智能体?理解多智能体系统的基础!

想象这样一个场景&#xff1a;一只蜜蜂在花丛中飞舞&#xff0c;它能采集花蜜&#xff0c;但也仅此而已。但当成千上万只蜜蜂聚集在一起时&#xff0c;奇迹发生了——它们不仅能酿造蜂蜜&#xff0c;还能为蜂巢降温&#xff0c;抵御外敌&#xff0c;建造精密的六角形蜂房。 单只…

作者头像 李华
网站建设 2026/4/18 9:43:56

比话真的能降低知网ai率吗?比话有什么特别之处?

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

作者头像 李华
网站建设 2026/4/18 7:39:30

东欧电商突围:3个Yandex精准获客策略让跨境订单暴涨

当全球跨境电商竞争日趋白热化&#xff0c;东欧市场却保持着23.4%的年增长率&#xff08;数据来源&#xff1a;Statista 2025&#xff09;&#xff0c;成为最具潜力的增量市场。而作为俄罗斯及独联体国家占有率超79%的搜索引擎&#xff0c;Yandex正是打开这片蓝海的金钥匙。本文…

作者头像 李华