私はnodeJSとノード拡張の初心者です。仮想関数 OnEvent(param1, param2, param3) でコールバックを受け取るノード js のネイティブ拡張を作成しています。コードは次のとおりです。
bool MyExt::OnEvent(int eventType, string param1, string param2)
{
printf("MyExt:: onevent___ \n");
{
//// Crashes here, but if I use Locker, it get stuck!!!!!!
//Locker l;
Local<Value> argv[3] = {
Local<Value>::New(Integer::New(1)),
Local<Value>::New(String::New("parameter 1")),
Local<String>::New(String::New("parameter 2"))
};
TryCatch try_catch;
//// I need to call this
m_EventCallback->Call(Context::GetCurrent()->Global(), 3, argv);
if (try_catch.HasCaught()){
printf("Callback is Exception() \n");
}
printf("Callback is IsCallable() \n");
}
return true;
}
m_EventCallback を使用して、このコールバック パラメータをサーバー スクリプトに転送する必要があります。関数 bool OnEvent は別のスレッドから呼び出されます。
uv_async_send を使用してみましたが、成功しませんでした。
ヘルプやガイダンスをいただければ幸いです。