为v8 :: local <v8 :: value> argv [1]动态分配不同的数据类型

时间:2018-08-19 18:45:01

标签: c++ v8 node.js-addon

如何根据以下传入数据(int,string,bool)类型为v8::Local<v8::Value>argv[1]分配两种数据类型。

v8::Local<v8::Value> argv[1];
 if(Isint)
{
  argv[0] = Nan::New<v8::Number>(intValue).ToLocalChecked();
}
if(IsString)
{
  argv[0] = Nan::New<v8::String>(stringValue);
 }
if(IsBool){
  argv[0] = Nan::New<v8::Boolean>(boolValue);
}

注意:根据上面执行的 if 检查,最终argv [0]将仅保留一个值int,string或bool。

上述实现抛出运行时错误为终止的SIGSEGV 。请帮助我解决此问题。这是我第一次尝试V8。

可以像上面那样分配argv [0]吗?

1 个答案:

答案 0 :(得分:0)

您的上述代码没有任何运行时错误。该错误来自任何IsInt,IsString,IsBool。