[TOC] <br/><br/><br/> # <b style="color:#4F4F4F;">简介说明</b> 原文链接: - [async_hooks](https://github.com/nodejs/node/blob/main/doc/api/async_hooks.md) ``` 版本:asyncHook 作用:跟踪应用中的异步资源 ``` <br/> # <b style="color:#4F4F4F;">async_hooks.asyncHook</b> <br/> # <span style="color:#619BE4">*createHook()</span> ***** 创建一个asyncHook跟踪对象 <br/> ### 返回类型 ``` hook ``` <br/> ### 参数说明 <b style="color:#808080;">callbacks:</b> * 类型:对象 * 默认值:无 * 描述:对象,包含回调函数 * 可选值:[ ] <br/> ### 示例内容 <span style="color:red;">1. 举例说明</span> ``` 切不要在hook的回调中使用consle.log 这是个异步函数,会持续跟踪,造成死循环 使用下面方式进行打印 const fs = require('fs'); const asyncHooks = require('async_hooks'); const hook = asyncHooks.createHook({ init(asyncId, type, triggerAsyncId, resource) { fs.writeSync(1, `init: asyncId-${asyncId},type-${type},triggerAsyncId-${triggerAsyncId}\n`); }, before(asyncId) { fs.writeSync(1, `before: asyncId-${asyncId}\n`); }, after(asyncId) { fs.writeSync(1, `after: asyncId-${asyncId}\n`); }, destroy(asyncId) { fs.writeSync(1, `destroy: asyncId-${asyncId}\n`); } }); hook.enable(); console.log('hello'); // hook.disable(); // 注意,这里不要disable,否则只能触发init事件 ``` <br/>