-
-
Notifications
You must be signed in to change notification settings - Fork 33.9k
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,
parentIdmust match thetriggerAsyncIdavailable in theInithook, as the parent promise is the trigger (cause) of the child async resource (promise) to be created. TheparentIdis redundant information in this case. - The only case where
parentIdwould be different fromtriggerAsyncIdis when a promise has no parent. In this case theparentIdwill beundefinedand thetriggerAsyncIdwould 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.