async_hooks.createHook(callbacks)
callbacks
<Object> 要注册的钩子回调init
<Function>init
回调。before
<Function>before
回调。after
<Function>after
回调。destroy
<Function>destroy
回调。promiseResolve
<Function>promiseResolve
回调。
- 返回: <AsyncHook> 用于禁用和启用钩子的实例
为每个异步操作的不同生命周期事件注册要调用的函数。
回调 init()
/before()
/after()
/destroy()
在资源的生命周期内为相应的异步事件调用。
所有回调都是可选的。
比如,如果只需要跟踪资源清理,则只需要传入 destroy
回调。
可以传给 callbacks
的所有函数的细节都在钩子回调章节。
const async_hooks = require('async_hooks');
const asyncHook = async_hooks.createHook({
init(asyncId, type, triggerAsyncId, resource) { },
destroy(asyncId) { }
});
回调将通过原型链继承:
class MyAsyncCallbacks {
init(asyncId, type, triggerAsyncId, resource) { }
destroy(asyncId) {}
}
class MyAddedCallbacks extends MyAsyncCallbacks {
before(asyncId) { }
after(asyncId) { }
}
const asyncHook = async_hooks.createHook(new MyAddedCallbacks());