Node.js 如何使用InstanceMethod()包装返回对象的方法?

Node.js 如何使用InstanceMethod()包装返回对象的方法?,node.js,node-addon-api,n-api,Node.js,Node Addon Api,N Api,正在创建将对象返回到节点环境的附加组件。基于我的工作,类对象的方法被包装在InstanceMethod()中以公开它们;但该函数需要一个返回Napi::Value的方法。我无法确定调用C++指针到“代码>值”的转换;代码>值:从(Env,PTR)< /C>错误(Visual C++ 2017)中,“不能从‘初始化列表’转换为‘NAPI::Value':< p>看起来,正如我在这里所要求的,其他人在节点API Adon Github站点。最初发布到用户问题的解决方案是我需要什么来让代码正常工作 简

正在创建将
对象
返回到节点环境的附加组件。基于我的工作,类对象的方法被包装在
InstanceMethod()
中以公开它们;但该函数需要一个返回
Napi::Value
的方法。我无法确定调用C++指针到“代码>值”的转换;代码>值:从(Env,PTR)< /C>错误(Visual C++ 2017)中,“不能从‘初始化列表’转换为‘NAPI::Value':

< p>看起来,正如我在这里所要求的,其他人在节点API Adon Github站点。最初发布到用户问题的解决方案是我需要什么来让代码正常工作


简短(明显的回顾):C++指针在JavaScript中是无用的,该方法需要返回一个包装C++对象的JavaScript对象。JS对象是在

napi_ref
napi::Reference
)中维护的,引用的
值()
是从访问方法返回的值。

即使我在这里询问,似乎还有其他人在节点API Addon github站点。最初发布到用户问题的解决方案是我需要什么来让代码正常工作


简短(明显的回顾):C++指针在JavaScript中是无用的,该方法需要返回一个包装C++对象的JavaScript对象。JS对象保存在

napi_ref
napi::Reference
)中,引用的
值()是从访问方法返回的值。

在跨境对象访问期间,您必须在本机代码中使用napi_wrapnapi_unwrap
napi_unwrap():检索以前包装在JavaScript对象中的本机实例
napi_wrap():将本机实例包装到JavaScript对象中

以下URL用于n-api文档对象包装,其中包含有关它的更详细信息。

下面的github示例具有此用法

在跨境对象访问期间,您必须在本机代码中使用napi_wrapnapi_unwrap
napi_unwrap():检索以前包装在JavaScript对象中的本机实例
napi_wrap():将本机实例包装到JavaScript对象中

以下URL用于n-api文档对象包装,其中包含有关它的更详细信息。

下面的github示例具有此用法

不太有用:如果你读过我发布的链接,你会看到我使用的是N-API C++包装器类,它隐藏了<代码> NAPIIXXXX API调用,这就是我想解决的问题。我不太想深入挖掘,但无论如何我不得不这么做,因为N-API是如此的有记录。如果你不这么做,那就没用了。(读过我发布的链接,你会看到我使用的是N-API C++封装器类,隐藏了<代码> NAPIIXXXX < /Cord> API调用,这就是我想解决的问题。我不太想深入挖掘,但无论如何我必须这样做,因为N-API是如此稀有的文档化。