5

私はNodeモジュールに取り組んでおりObjectWrap、JavaScriptコールバックへの引数としてサブクラス化するクラスのインスタンスを渡そうとしています。

他の場所では、以下を使用して、JavaScriptオブジェクトを同じクラスに正常にアンラップすることができました。

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

どうすれば逆にできますか?GitCommit次のように、のインスタンスをJavaScriptコールバックに渡します。

Local<Value> argv[] = {
  // Error code
  Local<Value>::New(Integer::New(0)),
  // The commit
  commit // 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);

これは可能ですか?もしそうなら、誰かが私に例、または関連するドキュメントへのリンクを教えてください。

4

1 に答える 1

3

したがって、ノードアドオンを作成しています。試す:

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);
于 2013-03-03T13:21:06.070 に答える