NodeJS事件驱动基础专题测试
考察知识点
| 知识模块 | 题目数 | 核心考点 |
|---|---|---|
| 事件循环机制 | 5题 | 核心特点、阶段组成、setTimeout/setImmediate顺序、微任务与宏任务、阻塞问题 |
| EventEmitter | 4题 | 基本使用、继承方式、监听器限制、内置应用 |
| 监听与触发事件 | 3题 | on/once区别、emit返回值、监听器移除、执行顺序 |
| 异步回调 | 4题 | Error-first模式、回调地狱、执行时机、解决方案 |
| 错误处理 | 4题 | try-catch局限、uncaughtException、Promise错误、错误传播 |
异步回调函数不会立即执行,而是在异步操作完成后,由事件循环调度执行。
Promise中未处理的拒绝会触发unhandledRejection事件,如果不处理会导致Node.js进程退出(Node.js v15+)。
process.nextTick的回调会在当前事件循环阶段结束后立即执行,优先于setTimeout和setImmediate。
EventEmitter监听器按注册顺序执行,先注册的监听器先执行。
setTimeout(callback, 0)设置的回调不会立即执行,而是在当前事件循环的timers阶段执行。
EventEmitter默认单个事件最多注册10个监听器,超过限制会发出警告。
回调函数是Node.js处理异步操作的基本方式,它将后续操作封装为函数,在异步操作完成后执行。
emitter.emit()方法返回true表示有监听器执行,返回false表示没有监听器。
CPU密集型同步操作会阻塞Node.js事件循环,导致其他异步操作延迟执行。
Node.js中try-catch语句无法捕获哪种类型的错误?
在IO回调中,setTimeout和setImmediate的执行顺序是什么?
Node.js事件循环的核心特点是什么?
多层异步回调嵌套导致的代码难以维护问题,通常称为?
Node.js异步回调函数的第一个参数通常是什么?
EventEmitter的on方法和once方法的主要区别是什么?
移除EventEmitter上的事件监听器,应使用哪个方法?
Node.js中创建自定义事件发射器需要继承哪个类?
Node.js哪些内置类继承了EventEmitter?
解决回调地狱的方法包括哪些?
Node.js事件循环包含以下哪些主要阶段?
EventEmitter常用方法: ____________ 注册持久监听器; ____________ 注册 ____________ 监听器; emit 触发 事件; removeListener 移除 监听器; setMaxListeners 设置最大监听器数量(默认 10 个)。
Node.js微任务包括 ____________ 和 ____________ ,在 ____________ 阶段末尾执行。宏任务包括 setTimeout 、 setInterval 和 setImmediate ,在 不同 阶段执行。微任务 优先于 宏任务, nextTick 优先于Promise.then。