|
48 | 48 | {% elsif field.isCallbackFunction %} |
49 | 49 | Nan::Callback *callback = NULL; |
50 | 50 | int throttle = {%if field.return.throttle %}{{ field.return.throttle }}{%else%}0{%endif%}; |
| 51 | + bool waitForResult = true; |
51 | 52 |
|
52 | 53 | if (value->IsFunction()) { |
53 | 54 | callback = new Nan::Callback(value.As<Function>()); |
|
59 | 60 | Local<Value> objectCallback = maybeObjectCallback.ToLocalChecked(); |
60 | 61 | if (objectCallback->IsFunction()) { |
61 | 62 | callback = new Nan::Callback(objectCallback.As<Function>()); |
| 63 | + |
62 | 64 | Nan::MaybeLocal<Value> maybeObjectThrottle = Nan::Get(object, Nan::New("throttle").ToLocalChecked()); |
63 | 65 | if(!maybeObjectThrottle.IsEmpty()) { |
64 | 66 | Local<Value> objectThrottle = maybeObjectThrottle.ToLocalChecked(); |
65 | 67 | if (objectThrottle->IsNumber()) { |
66 | 68 | throttle = (int)objectThrottle.As<Number>()->Value(); |
67 | 69 | } |
68 | 70 | } |
| 71 | + |
| 72 | + Nan::MaybeLocal<Value> maybeObjectWaitForResult = Nan::Get(object, Nan::New("waitForResult").ToLocalChecked()); |
| 73 | + if(!maybeObjectWaitForResult.IsEmpty()) { |
| 74 | + Local<Value> objectWaitForResult = maybeObjectWaitForResult.ToLocalChecked(); |
| 75 | + waitForResult = (bool)objectWaitForResult->BooleanValue(); |
| 76 | + } |
69 | 77 | } |
70 | 78 | } |
71 | 79 | } |
|
74 | 82 | wrapper->raw->{{ field.name }} = ({{ field.cType }}){{ field.name }}_cppCallback; |
75 | 83 | } |
76 | 84 |
|
77 | | - wrapper->{{ field.name }}.SetCallback(callback, throttle); |
| 85 | + wrapper->{{ field.name }}.SetCallback(callback, throttle, waitForResult); |
78 | 86 | } |
79 | 87 |
|
80 | 88 | {% elsif field.payloadFor %} |
|
0 commit comments