Node.js之async_hooks
async_hooks 异步钩子; 提供了一组API用来跟踪Nodejs的异步资源(asynchronous resources)的生命周期; 特性: 每个函数都会提供一个上下文,为async scope(node为每个函数都提供了一个async scope); 每个async scope都有一个asyncId标志,最外层的asyncId是1,每个异步资源在创建时asyncId是全量递增的; 同步函数不会改变其调用者的asyncId; 同一个函数,不同时刻进行异步调用,会分配不同的asyncId; triggerAsyncId当前函数调用者的asyncId; executionAsyncId当前函数的asyncId; const fs = require('fs') const async_hooks = require('async_hooks') const eid = async_hooks.executionAsyncId() const tid = async_hooks.triggerAsyncId() console.log(`executionAsyncId: ${eid}, triggerAsyncId: ${tid}`) const asyncHooks = async_hooks.createHook({ // fs.writeSync向控制台打印消息