2016-10-10 4 views
1

Verzeihen Sie, dass ich ein Anfänger für Node und Nan bin. Jetzt möchte ich Ereignisse von Nodejs Addon zu Javascript senden.Wie man Nan :: MakeCallback verwendet, um Ereignisse von Nodejs Addon an Javascript zu senden?

v8::Local<v8::Object> obj 
Nan::Persistent<v8::Object> persistent; 
persistent.Reset(obj); 
v8::Local<v8::Object> orig_obj = Nan::New(persistent); 
v8::Local<v8::Value> argv[1] = {Nan::New("New Data").ToLocalChecked()}; 
Nan::MakeCallback(orig_obj, "emit", 1, argv); 

Aber Segmentation fault (core dumped) Also, wie genau Nan :: MakeCallback benutzen? Danke!

Antwort

1

Dies funktioniert für mich:

const unsigned argc = 1; 
    v8::Local<v8::Value> argv[argc] = { Nan::New("hello world").ToLocalChecked() }; 
    Nan::MakeCallback(Nan::GetCurrentContext()->Global(), cb, argc, argv); 

Quelle: https://github.com/nodejs/node-addon-examples/blob/master/3_callbacks/nan/addon.cc

Hier ist ein Beispiel mit mehreren Parametern:

const unsigned argc = 3; 
    v8::Local<v8::Value> argv[argc] = { 
    Nan::New("hello world").ToLocalChecked(), 
    Nan::New(123), 
    Nan::New(456) 
    }; 
    Nan::MakeCallback(Nan::GetCurrentContext()->Global(), cb, argc, argv); 
Verwandte Themen