napi_create_typedarray


napi_status napi_create_typedarray(napi_env env,
                                   napi_typedarray_type type,
                                   size_t length,
                                   napi_value arraybuffer,
                                   size_t byte_offset,
                                   napi_value* result) 
  • [in] env:API 被调用时所处的环境。
  • [in] typeTypedArray 中元素的标量数据类型。
  • [in] lengthTypedArray 中的元素数量。
  • [in] arraybufferArrayBufferSharedArrayBuffer 是该类型数组的底层。
  • [in] byte_offset:从 ArrayBufferSharedArrayBuffer 中开始投射 TypedArray 的字节偏移量。
  • [out] result:一个表示 JavaScript TypedArraynapi_value

如果 API 成功,则返回 napi_ok

🌐 Returns napi_ok if the API succeeded.

此 API 在现有的 ArrayBufferSharedArrayBuffer 上创建一个 JavaScript TypedArray 对象。TypedArray 对象提供对底层数据缓冲区的类数组视图,其中每个元素具有相同的底层二进制标量数据类型。

🌐 This API creates a JavaScript TypedArray object over an existing ArrayBuffer or SharedArrayBuffer. TypedArray objects provide an array-like view over an underlying data buffer where each element has the same underlying binary scalar datatype.

要求 (length * size_of_element) + byte_offset 小于或等于传入的 ArrayBufferSharedArrayBuffer 的字节大小。如果不满足,将引发 RangeError 异常。

🌐 It is required that (length * size_of_element) + byte_offset is less than or equal to the size in bytes of the ArrayBuffer or SharedArrayBuffer passed in. If not, a RangeError exception is raised.

对于大于 1 的元素大小,byte_offset 需要是元素大小的倍数。如果不是,将引发 RangeError 异常。

🌐 For element sizes greater than 1, byte_offset is required to be a multiple of the element size. If not, a RangeError exception is raised.

JavaScript TypedArray 对象在 ECMAScript 语言规范的 类型化数组对象部分 中有描述。

🌐 JavaScript TypedArray objects are described in Section TypedArray objects of the ECMAScript Language Specification.