promiseHooks.createHook(callbacks)
callbacks<Object> 用于注册 钩子回调init<Function> 这个init回调。before<Function> 这个before回调。after<Function> 这个after回调。settled<Function> 这个settled回调。
- 返回:<Function> 用于禁用钩子
钩子回调必须是普通函数。提供异步函数会抛出错误,因为这会产生无限的微任务循环。
注册要为每个 promise 的不同生命周期事件调用的函数。
【Registers functions to be called for different lifetime events of each promise.】
在 Promise 的生命周期中,回调 init()/before()/after()/settled() 会在相应的事件触发时被调用。
【The callbacks init()/before()/after()/settled() are called for the
respective events during a promise's lifetime.】
所有回调都是可选的。例如,如果只需要跟踪 Promise 的创建,那么只需要传入 init 回调即可。可以传递给 callbacks 的所有函数的具体信息在 钩子回调 部分。
【All callbacks are optional. For example, if only promise creation needs to
be tracked, then only the init callback needs to be passed. The
specifics of all functions that can be passed to callbacks is in the
Hook Callbacks section.】
import { promiseHooks } from 'node:v8';
const stopAll = promiseHooks.createHook({
init(promise, parent) {},
});const { promiseHooks } = require('node:v8');
const stopAll = promiseHooks.createHook({
init(promise, parent) {},
});