2013-03-03 3 views
5

私はNodeモジュールで作業していて、ObjectWrapをサブクラス化したクラスのインスタンスをJavaScriptコールバックの引数として渡そうとしています。他の場所でV8のJavaScriptコールバックにオブジェクトを渡す方法

私は正常にJavaScriptを使用して、同じクラスにオブジェクトをアンラップすることができました:

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

私は逆をどのように行う可能性がありますか?

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

これが可能である:私は次のように、JavaScriptのコールバックにGitCommitのインスタンスを渡したいですか?もしそうなら誰か私に例をあげてください、または関連文書へのリンク?

答えて

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); 
+0

ありがとうございます! –

関連する問題