面试题答案
一键面试基本流程
- 引入模块:在 Node.js 项目中,首先要引入
async_hooks
模块,这是使用 Async Hooks 功能的基础。 - 创建异步钩子实例:通过
async_hooks.createHook()
方法创建一个钩子实例,该实例用于定义对不同异步事件的回调函数。 - 启用钩子:调用钩子实例的
enable()
方法,使钩子开始生效,从而能够捕获异步操作的各种事件。 - 在回调中处理错误:在钩子实例定义的回调函数(如
promiseRejection
等)中,对捕获到的异步操作错误进行相应处理。
核心 API 方法
- async_hooks.createHook(options):用于创建一个异步钩子实例,
options
是一个对象,包含多个回调函数,比如init
、destroy
、promiseRejection
等,分别用于不同异步事件的处理。 - hook.enable():启用创建好的钩子实例,只有调用此方法后,钩子才能开始捕获异步事件。
- promiseRejection 回调:在
createHook
的options
中定义的promiseRejection
回调函数,用于捕获 Promise 被拒绝(即发生错误)的情况,在该回调中可以进行错误处理。