napi_create_external
napi_status napi_create_external(napi_env env,
void* data,
napi_finalize finalize_cb,
void* finalize_hint,
napi_value* result) [in] env:调用该 API 时所处的环境。[in] data:指向外部数据的原始指针。[in] finalize_cb:当外部值被回收时可选调用的回调。napi_finalize提供了更多详细信息。[in] finalize_hint:在收集期间传递给 finalize 回调的可选提示。[out] result:表示一个外部值的napi_value。
如果 API 成功,则返回 napi_ok。
【Returns napi_ok if the API succeeded.】
此 API 分配了一个附带外部数据的 JavaScript 值。这用于通过 JavaScript 代码传递外部数据,以便本地代码稍后可以使用 napi_get_value_external 检索该数据。
【This API allocates a JavaScript value with external data attached to it. This
is used to pass external data through JavaScript code, so it can be retrieved
later by native code using napi_get_value_external.】
该 API 添加了一个 napi_finalize 回调,当刚创建的 JavaScript 对象被垃圾回收时,该回调将被调用。
【The API adds a napi_finalize callback which will be called when the JavaScript
object just created has been garbage collected.】
创建的值不是对象,因此不支持附加属性。它被视为一种独立的值类型:使用外部值调用 napi_typeof() 会返回 napi_external。
【The created value is not an object, and therefore does not support additional
properties. It is considered a distinct value type: calling napi_typeof() with
an external value yields napi_external.】