news 2026/4/23 6:30:07

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/23 6:24:46

AsyncContext

AsyncContextNapi::AsyncWorker类可能并非适用于所有场景。当使用其他任何异步机制时&#xff0c;引入新的Napi::AsyncContext类是必要的&#xff0c;以确保运行时能正确跟踪异步操作。Napi::AsyncContext类可传递给Napi::Function::MakeCallback()方法&#xff0c;以正确恢复正…

作者头像 李华
网站建设 2026/4/23 6:25:30

近视防控:“防“在前,“控“在后

近年来&#xff0c;儿童青少年近视率居高不下&#xff0c;已成为影响国民健康的重要公共卫生问题。“每天户外活动2小时”“减少连续近距离用眼时间”&#xff0c;这些主流的防控建议虽有充分的理论支撑&#xff0c;却在沉重的学业压力下屡屡碰壁。事实上&#xff0c;科学的近视…

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

LIS2DW12三轴加速度传感器原理图设计,已量产(加速度传感器)

目录 1、核心传感电路:LIS2DW12 的引脚逻辑 2、电源部分:低噪 + 低功耗的双重保障 3、接口细节:I2C 上拉与扩展预留 4、容易忽略的细节 最近在做一款低功耗便携监测设备,选传感模块时一眼盯上了 ST 的 LIS2DW12—— 这颗三轴加速度计的参数简直是为便携场景量身定做:1…

作者头像 李华
网站建设 2026/4/18 4:37:51

Yandex竞价实战指南:5个让ROI翻倍的深度优化技巧

在俄罗斯及东欧市场&#xff0c;Yandex Direct作为核心广告投放平台&#xff0c;其竞价系统优化直接决定企业获客成本与转化效率。据2025年数字营销效果调研报告显示&#xff0c;采用系统化优化策略的广告主平均CTR提升47%&#xff0c;CPA降低32%。本文将拆解从基础设置到高阶策…

作者头像 李华
网站建设 2026/4/22 7:19:11

RTMP推流平台EasyDSS无人机推流直播在生态环境智慧监测中的新实践

在生态文明建设成为国家战略的今天&#xff0c;对广袤森林、湿地、河流、海洋等生态系统的常态化监测&#xff0c;面临着监测范围广、地形复杂、数据实时性要求高等多重挑战。传统的地面巡查和卫星遥感手段&#xff0c;受限于人力与视野&#xff0c;难以满足精细化、动态化的现…

作者头像 李华