Add a use case of C++ on() to addon example
This commit is contained in:
parent
efcb17a23a
commit
8718958591
|
@ -33,6 +33,17 @@ Example::~Example() {
|
|||
|
||||
}
|
||||
|
||||
|
||||
NAN_METHOD(Example::cppOn) { THIS_EXAMPLE; THIS_CHECK;
|
||||
|
||||
REQ_STR_ARG(0, name);
|
||||
REQ_FUN_ARG(1, cb);
|
||||
|
||||
example->on(*name, cb);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// ------ System methods and props for ObjectWrap
|
||||
|
||||
V8_STORE_FT Example::_protoExample;
|
||||
|
@ -52,6 +63,7 @@ void Example::init(V8_VAR_OBJ target) {
|
|||
|
||||
// -------- dynamic
|
||||
Nan::SetPrototypeMethod(proto, "destroy", destroy);
|
||||
Nan::SetPrototypeMethod(proto, "cppOn", cppOn);
|
||||
|
||||
// -------- static
|
||||
V8_VAR_FUNC ctor = Nan::GetFunction(proto).ToLocalChecked();
|
||||
|
|
|
@ -27,6 +27,8 @@ private:
|
|||
|
||||
static NAN_METHOD(destroy);
|
||||
|
||||
static NAN_METHOD(cppOn);
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
|
|
@ -57,4 +57,9 @@ example.on('max1', () => {});
|
|||
example.on('max1', () => {});
|
||||
example.on('max1', () => {});
|
||||
|
||||
example.on('cpp-on', (arg1, arg2) => {
|
||||
console.log('CPP_ON', arg1, arg2, example.eventNames());
|
||||
});
|
||||
example.emit('cpp-on', 555, 'abc');
|
||||
|
||||
module.exports = Example;
|
||||
|
|
Loading…
Reference in New Issue