0.5.2-wip: make NanAsyncWorker.*Persistent() public #41
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A small change to
NanAsyncWorker
, I'd like to makeSavePersistent()
andGetFromPersistent()
public so I can use them from the outside. I'm finding that best practice might be to save a persistent of the parent object on each async call so GC doesn't get a chance to clean up the parent if there is no reference left in JS-land. For instance:so instead of resorting to referencing hacks in JS-land, if you put the reference to the parent object, in this case
batch
into theNanAsyncWorker
, in this case for thewrite()
work, then it is kept around until the worker is cleaned up.This is much cleaner if you can do this from outside
NanAsyncWorker
.Having said all that, I think my projects might be the only ones actually using
NanAsyncWorker
so this is mainly FYI but I'd appreciate any feedback, comments or objections before merging.