node_api_post_finalizer
稳定性: 1 - 实验性
napi_status node_api_post_finalizer(node_api_basic_env env,
napi_finalize finalize_cb,
void* finalize_data,
void* finalize_hint); [in] env:调用该 API 时所处的环境。[in] finalize_cb:本地回调,当 JavaScript 对象被垃圾回收时,将用于释放本地数据。napi_finalize提供了更多详细信息。[in] finalize_data:可选的数据,将传递给finalize_cb。[in] finalize_hint:可选的上下文提示,会传递给 finalize 回调。
如果 API 成功,则返回 napi_ok。
【Returns napi_ok if the API succeeded.】
安排 napi_finalize 回调在事件循环中异步调用。
【Schedules a napi_finalize callback to be called asynchronously in the
event loop.】
通常,终结器会在垃圾回收器 (GC) 回收对象时被调用。在那时,调用任何可能导致 GC 状态变化的 Node-API 都会被禁用,并且会导致 Node.js 崩溃。
【Normally, finalizers are called while the GC (garbage collector) collects objects. At that point calling any Node-API that may cause changes in the GC state will be disabled and will crash Node.js.】
node_api_post_finalizer 通过允许插件将对这些 Node-API 的调用推迟到垃圾回收(GC)终结之外的时间点,从而帮助解决这一限制。