nodejs / node-addon-examples

Node.js C++ addon examples from http://nodejs.org/docs/latest/api/addons.html
Other
2.49k stars 600 forks source link

Improve `AsyncWorker` example handling `Object/Buffer/Uint8Array` as parameter #380

Open mahnunchik opened 8 months ago

mahnunchik commented 8 months ago

Hello,

I've created issue in node-addon-api https://github.com/nodejs/node-addon-api/issues/1453 but it may be related more to scope of this repository.

I couldn't find in the documentation and examples how to properly handle Object/Buffer/Uint8Array parameters in AsyncWorker?

https://github.com/nodejs/node-addon-api/issues/1453

legendecas commented 7 months ago

I believe https://github.com/nodejs/node-addon-examples/tree/main/src/4-references-and-handle-scope/function-reference-demo/node-addon-api can be a good example to prevent objects from being reclaimed by the garbage collector.

mahnunchik commented 7 months ago

Yes it is good starting point, but working with AsyncWorker is a bit different because it was not clear to me where to wrap and where to release data. Now it is clear for me https://github.com/nodejs/node-addon-api/issues/1453#issuecomment-1970549421 but I think example can be added.