如何解决试图从一个节点插件返回多个对象
我使用一个节点插件返回多个对象。
#include <napi.h>
#include "myobject.h"
#include "myobject1.h"
#include "myobject2.h"
#include <iostream>
Napi::Object CreateObject(const Napi::CallbackInfo& info)
{
int num = info[0].As<Napi::Number>().Int32Value();
switch (num)
{
case 1:
std::cout << "Object 1" << std::endl;
return MyObject::NewInstance(info.Env(),info[0]);
break;
case 2:
std::cout << "Object 2" << std::endl;
return MyObject1::NewInstance(info.Env(),info[0]);
break;
case 3:
std::cout << "Object 3" << std::endl;
return MyObject2::NewInstance(info.Env(),info[0]);
break;
}
}
Napi::Object InitAll(Napi::Env env,Napi::Object exports) {
Napi::Object new_exports = Napi::Function::New(env,CreateObject,"CreateObject");
return MyObject::Init(env,new_exports);
}
NODE_API_MODULE(addon,InitAll)
使用上面代码的js文件是这样的。
var createObject = require('bindings')('addon');
var obj = createObject(1);
var obj2 = createObject(2);
var obj3 = createObject(3);
插件代码编译得很好,但 js 给出了以下错误。 致命错误:错误::新的 napi_get_last_error_info 1: 00007FF68F1F046F napi_wrap+109311 2:00007FF68F195156 v8::internal::OrderedHashTable<:internal::orderedhashmap>::NumberOfElementsOffset+33302 3: 00007FF68F195F26 节点::OnFatalError+294 4:00007FF68F1957C9 v8::internal::OrderedHashTable<:internal::orderedhashmap>::NumberOfElementsOffset+34953 5:00007FF68F1BE2EC napi_fatal_error+156 6:00007FF8677D14E7 公共:静态无效 __cdecl Napi::Error::Fatal(char const * __ptr64,char const * __ptr64)+23 7:00007FF8677D1475 公共:静态类 Napi::Error cdecl Napi::Error::New(struct napi_env * __ptr64)+421 8: 00007FF8677D413C Napi::EscapableHandleScope::EscapableHandleScope+60 [C:\Project\abi-stable-node-addon-examples-master\7_factory_wrap\node-addon-api\node_modules\node-addon-api\napi-inl. h]:L3445
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。