0

将参数从 Node.js 传递给 C++ 函数,并通过回调函数将结果返回给 Node.js。

Node.js 插件回调示例之后,该示例已修改为涉及数字而不是字符串。

这是来自 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);

这是修改后的代码集,其中 value 是数组中某个位置的数字:

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);
4

1 回答 1

2

您的问题是您为参数定义了一个大小为 2 的数组,您调用回调函数将 arg count 也传递为 2,但是您将数组初始化为单个值。更改argc = 1或初始化argv数组中的 2 个值。

于 2015-07-20T06:39:03.887 回答