Skip to content

Commit 2b3207d

Browse files
ebickleGabriel Schulhof
authored and
Gabriel Schulhof
committed
doc: fix n-api asynchronous threading docs
Documentation for N-API Custom Asynchronous Operations incorrectly stated that async execution happens on the main event loop. Added details to napi_create_async_work about which threads are used to invoke the execute and complete callbacks. Changed 'async' to 'asynchronous' in the documentation for Custom Asynchronous Operations. Changed "executes in parallel" to "can execute in parallel" for the documentation of napi_create_async_work execute parameter. PR-URL: nodejs#19073 Fixes: nodejs#19071 Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
1 parent eb85cd8 commit 2b3207d

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

doc/api/n-api.md

+7-5
Original file line numberDiff line numberDiff line change
@@ -3283,9 +3283,11 @@ napi_status napi_create_async_work(napi_env env,
32833283
- `[in] async_resource_name`: Identifier for the kind of resource that is
32843284
being provided for diagnostic information exposed by the `async_hooks` API.
32853285
- `[in] execute`: The native function which should be called to excute
3286-
the logic asynchronously.
3286+
the logic asynchronously. The given function is called from a worker pool
3287+
thread and can execute in parallel with the main event loop thread.
32873288
- `[in] complete`: The native function which will be called when the
3288-
asynchronous logic is comple or is cancelled.
3289+
asynchronous logic is completed or is cancelled. The given function is called
3290+
from the main event loop thread.
32893291
- `[in] data`: User-provided data context. This will be passed back into the
32903292
execute and complete functions.
32913293
- `[out] result`: `napi_async_work*` which is the handle to the newly created
@@ -3361,9 +3363,9 @@ callback invocation, even if it has been successfully cancelled.
33613363

33623364
## Custom Asynchronous Operations
33633365
The simple asynchronous work APIs above may not be appropriate for every
3364-
scenario, because with those the async execution still happens on the main
3365-
event loop. When using any other async mechanism, the following APIs are
3366-
necessary to ensure an async operation is properly tracked by the runtime.
3366+
scenario. When using any other asynchronous mechanism, the following APIs
3367+
are necessary to ensure an asynchronous operation is properly tracked by
3368+
the runtime.
33673369

33683370
### napi_async_init
33693371
<!-- YAML

0 commit comments

Comments
 (0)