2015-07-20 100 views
0

将参数从Node.js传递给C++函数,并通过回调函数将结果返回给Node.js。V8回调,使用数字而不是字符串

Node.js Addons Callback example后,该示例已被修改为涉及Number而不是String。

下面是Node.js的附加组件代码集的例子:

Local<Function> cb = Local<Function>::Cast(args[0]); 
const unsigned argc = 1; 
Local<Value> argv[argc] = { String::NewFromUtf8(isolate, "hello world") }; 
cb->Call(isolate->GetCurrentContext()->Global(), argc, argv); 

下面是修改后的代码集,其中值是在数组中的位置的数字:

Local<Function> cb = Local<Function>::Cast(args[1]); 
const unsigned argc = 2; 
Local<Value> argv[argc] = {Number::New(isolate, value)}; 
cb->Call(isolate->GetCurrentContext()->Global(), argc, argv); 
+0

段错在哪里发生? – Amit

回答

2

你的问题是你为参数定义了一个大小为2的数组,你可以调用回调函数来传递参数count为2,但是你的数组初始化为一个值。要么更改argc = 1,要么初始化argv阵列中的2个值。

相关问题