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());