Create example for AsyncProgressWorker & AsyncProgressQueueWorker

Open
#164 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
38/100
Issue type
Documentation
Clarity
Mostly clear
Activity status
Stale
Tech stack
cpp, nodejs
Domain
documentation

Research direction

Start by reading doc/async_worker_variants.md and compare its AsyncProgressWorker and AsyncProgressQueueWorker discussion with the referenced nan test at test/cpp/asyncprogressworker.cpp. Add a complete node-addon-api example and explain how the OnProgress callback arguments select the JavaScript progress callback; done means the example and documentation make that behavior clear.

Written by the indexing model from the issue text.

Description

There is currently on example for these progress workers. The documentation is kind of a bit confusing here: https://github.com/nodejs/node-addon-api/blob/master/doc/async_worker_variants.md

It doesn't really explain how to use the progress callback in the OnProgress function...just randomly makes a Callback().Call({Env().Null(), Env().Null(), Number::New(Env(), *data)}); call with two Env().Null()'s with no explanation as to what this is doing. I guess by passing two nulls it forces this to the Progress callback in javascript...but it's all a bit confusing.

Would be nice to get a proper example on here put together for these progressworkers. In the nan library you have to specify each the callback and the progresscallback to the worker, but it doesn't seem to be the case in the new node-addon-api, example/test can be found here: https://github.com/nodejs/nan/blob/e222068f9d99967897a8cefa6c505534b36116ad/test/cpp/asyncprogressworker.cpp

I am porting a project from nan -> node-addon-api currently, and feel an example on how the progress callbacks work would be beneficial to me and others also.

Thanks.

Dominant language
C++
Stars
2.6k
Forks
602
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from nodejs/node-addon-examples

All issues in nodejs/node-addon-examples

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.