如何在V8中将对象传递给JavaScript回调

如何在V8中将对象传递给JavaScript回调,javascript,c++,node.js,v8,Javascript,C++,Node.js,V8,我正在处理一个节点模块,并试图将子类ObjectWrap的类的实例作为参数传递给JavaScript回调 在其他地方,我可以使用以下方法成功地将JavaScript对象展开到同一个类: GitCommit *commit = ObjectWrap::Unwrap<GitCommit>(args[0]->ToObject()); 这可能吗?如果是这样的话,请给我一个例子或相关文档的链接好吗?那么您正在编写一个节点插件。尝试: Handle<Value> argv[

我正在处理一个节点模块,并试图将子类
ObjectWrap
的类的实例作为参数传递给JavaScript回调

在其他地方,我可以使用以下方法成功地将JavaScript对象展开到同一个类:

 GitCommit *commit = ObjectWrap::Unwrap<GitCommit>(args[0]->ToObject());

这可能吗?如果是这样的话,请给我一个例子或相关文档的链接好吗?

那么您正在编写一个节点插件。尝试:

Handle<Value> argv[] = {
    // Error code
    Integer::New(0),
    // The commit
    commit->handle_ // Instance of GitCommit : ObjectWrap
};

// Both error code and the commit are passed, JS equiv: callback(error, commit)    
ar->callback->Call(Context::GetCurrent()->Global(), 1, argv);
句柄argv[]={
//错误代码
整数::新的(0),
//承诺
提交->句柄//GitCommit的实例:ObjectWrap
};
//错误代码和提交都被传递,JS equiv:callback(error,commit)
ar->callback->Call(Context::GetCurrent()->Global(),1,argv);
非常感谢您的支持!
Handle<Value> argv[] = {
    // Error code
    Integer::New(0),
    // The commit
    commit->handle_ // Instance of GitCommit : ObjectWrap
};

// Both error code and the commit are passed, JS equiv: callback(error, commit)    
ar->callback->Call(Context::GetCurrent()->Global(), 1, argv);