-
-
Notifications
You must be signed in to change notification settings - Fork 33.3k
Closed
Labels
async_hooksIssues and PRs related to the async hooks subsystem.Issues and PRs related to the async hooks subsystem.discussIssues opened for discussions and feedbacks.Issues opened for discussions and feedbacks.questionIssues that look for answers.Issues that look for answers.
Description
On PromiseWrap objects we expose a parentId
property:
Lines 385 to 387 in 0993fbe
promise_wrap_template->SetAccessor( | |
FIXED_ONE_BYTE_STRING(env->isolate(), "parentId"), | |
PromiseWrap::getParentAsyncId); |
The semantics of the property are:
- If the promise has a parent promise, parentId will be the asyncId of the parent promise. By definition, and by implementation,
parentId
must match thetriggerAsyncId
available in theInit
hook, as the parent promise is the trigger (cause) of the child async resource (promise) to be created. TheparentId
is redundant information in this case. - The only case where
parentId
would be different fromtriggerAsyncId
is when a promise has no parent. In this case theparentId
will beundefined
and thetriggerAsyncId
would correspond to the current execution id.
It seems the only information that parentId
provides is whether or not (i.e boolean) the promise has a parent.
Is there something more subtle here that I might be missing? I'd like to go ahead and document that if that's the case.
/cc @nodejs/diagnostics @nodejs/async_hooks
Metadata
Metadata
Assignees
Labels
async_hooksIssues and PRs related to the async hooks subsystem.Issues and PRs related to the async hooks subsystem.discussIssues opened for discussions and feedbacks.Issues opened for discussions and feedbacks.questionIssues that look for answers.Issues that look for answers.