Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: fix nits in code examples of async_hooks.md #13400

Closed
wants to merge 6 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 20 additions & 17 deletions doc/api/async_hooks.md
Original file line number Diff line number Diff line change
Expand Up @@ -220,13 +220,11 @@ while `triggerId` shows *why* a resource was created.
The following is a simple demonstration of `triggerId`:

```js
const async_hooks = require('async_hooks');

async_hooks.createHook({
init(asyncId, type, triggerId) {
const cId = async_hooks.currentId();
fs.writeSync(1, `${type}(${asyncId}): ` +
`trigger: ${triggerId} scope: ${cId}\n`);
fs.writeSync(
1, `${type}(${asyncId}): trigger: ${triggerId} scope: ${cId}\n`);
}
}).enable();

Expand Down Expand Up @@ -271,25 +269,28 @@ callback to `listen()` will look like. The output formatting is slightly more
elaborate to make calling context easier to see.

```js
const async_hooks = require('async_hooks');

let indent = 0;
async_hooks.createHook({
init(asyncId, type, triggerId) {
const cId = async_hooks.currentId();
fs.writeSync(1, ' '.repeat(indent) + `${type}(${asyncId}): ` +
`trigger: ${triggerId} scope: ${cId}\n`);
const indentStr = ' '.repeat(indent);
fs.writeSync(
1,
`${indentStr}${type}(${asyncId}): trigger: ${triggerId} scope: ${cId}\n`);
},
before(asyncId) {
fs.writeSync(1, ' '.repeat(indent) + `before: ${asyncId}`);
const indentStr = ' '.repeat(indent);
fs.writeSync(1, `${indentStr}before: ${asyncId}\n`);
indent += 2;
},
after(asyncId) {
indent -= 2;
fs.writeSync(1, ' '.repeat(indent) + `after: ${asyncId}`);
const indentStr = ' '.repeat(indent);
fs.writeSync(1, `${indentStr}after: ${asyncId}\n`);
},
destroy(asyncId) {
fs.writeSync(1, ' '.repeat(indent) + `destroy: ${asyncId}`);
const indentStr = ' '.repeat(indent);
fs.writeSync(1, `${indentStr}destroy: ${asyncId}\n`);
},
}).enable();

Expand Down Expand Up @@ -319,10 +320,10 @@ before: 5
>>> 4
TickObject(9): trigger: 4 scope: 4
after: 4
destroy: 4
after: 5
before: 9
after: 9
destroy: 4
destroy: 9
destroy: 5
```
Expand Down Expand Up @@ -395,8 +396,8 @@ For example:

```js
console.log(async_hooks.currentId()); // 1 - bootstrap
fs.open(path, (err, fd) => {
console.log(async_hooks.currentId()); // 2 - open()
fs.open(path, 'r', (err, fd) => {
console.log(async_hooks.currentId()); // 6 - open()
Copy link
Member

@AndreasMadsen AndreasMadsen Jun 2, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, something is wrong with the async_hooks.currentId() this is supposed to be 2.

edit: oh, it might be because of console.log. Then 6 is likely correct.

});
```

Expand Down Expand Up @@ -427,9 +428,9 @@ For example:

```js
const server = net.createServer((conn) => {
// Though the resource that caused (or triggered) this callback to
// be called was that of the new connection. Thus the return value
// of triggerId() is the ID of "conn".
// The resource that caused (or triggered) this callback to be called
// was that of the new connection. Thus the return value of triggerId()
// is the asyncId of "conn".
async_hooks.triggerId();

}).listen(port, () => {
Expand Down Expand Up @@ -462,6 +463,8 @@ will occur and node will abort.
The following is an overview of the `AsyncResource` API.

```js
const { AsyncResource } = require('async_hooks');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

less (because of the destructuring) but still cruft

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the only place where a reader can find out how to obtain AsyncResource.


// AsyncResource() is meant to be extended. Instantiating a
// new AsyncResource() also triggers init. If triggerId is omitted then
// async_hook.currentId() is used.
Expand Down