使用 node-addon-api 返回 c++ 对象实例

问题描述

在javascript中,我尝试运行的代码

const Element = require("element.node");
let element = new Element();
console.log(element.parent); // null
element.parent = element;
console.log(element.parent === element); // should be true

所以在 cpp Element 类中我有

void Element::SetParent(const Napi::CallbackInfo &info,const Napi::Value &value) {
    this->parent = Element::Unwrap(info[0].As<Napi::Object>());
}

但我不知道如何实现 GetParent 方法,this->parent 具有正确的指针,但我在互联网上找到的所有示例都创建了一个新的 c++ 元素实例,调用 js 构造函数来拥有一个 Napi::Object

我可以调用一些方法来反转 Element::Unwrap 吗?

喜欢

Napi::Value Element::GetParent(const Napi::CallbackInfo &info) {
    Napi::Env env = info.Env();
    if (this->parent == NULL) {
        return env.Null();
    }
    return Napi::Object::Wrap(this->parent);
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)