Node.js 将null参数传递给v8回调

Node.js 将null参数传递给v8回调,node.js,v8,Node.js,V8,我有一个本机插件,它实现了一个函数,该函数接受回调并调用该回调,可能会产生错误和结果 目前,我从NodeJS文档中获得了以下代码,这些代码直接调用该回调并产生结果: v8::Local<v8::Function> callback = v8::Local<v8::Function>::Cast(args[0]); const unsigned callback_argc = 1; v8::Local<v8::Value> callback_arguments[

我有一个本机插件,它实现了一个函数,该函数接受回调并调用该回调,可能会产生错误和结果

目前,我从NodeJS文档中获得了以下代码,这些代码直接调用该回调并产生结果:

v8::Local<v8::Function> callback = v8::Local<v8::Function>::Cast(args[0]);
const unsigned callback_argc = 1;
v8::Local<v8::Value> callback_arguments[callback_argc] = { physical_drives };
callback->Call(v8::Context::GetCurrent()->Global(), callback_argc, callback_arguments);
这会失败,因为我无法使用
v8::Null()
v8::Undefined()
初始化
callback\u参数
,因为这些函数返回
v8::Primitive
,而
callback\u参数
包含
v8::Value
s

手动铸造也不可能:

v8::Local<v8::Value>::Cast(v8::Null());
v8::Local::Cast(v8::Null());

null
/
未定义的
值传递给回调的正确方法是什么?

v8::Primitive
v8::value
的子类,因此向上转换它是绝对正确的。代码无法编译,因为无法将
v8::Handle
向下转换为
v8::Local

只需更改
回调参数的类型

v8::句柄回调参数[callback\u argc]={
v8::Null(),
物理硬盘
};

这应该可以很好地编译。

v8::Primitive
v8::Value
的一个子类,因此向上转换它绝对可以。代码无法编译,因为您无法将
v8::Handle
向下转换为
v8::Local

只需更改
回调参数的类型

v8::句柄回调参数[callback\u argc]={
v8::Null(),
物理硬盘
};
这应该可以编译。

您是否尝试过:
v8::Local::New(v8::Null())
。我也会考虑使用Na(),因为它会对V8的更改有所遮蔽。您尝试了:<代码> V8::No::(V8::Null())< /代码>。此外,我会考虑使用南(),因为它将屏蔽你从V8的变化。
v8::Local<v8::Value>::Cast(v8::Null());