从 JavaScript 单线程与非阻塞 I/O 的设计出发,系统拆解事件循环(Event Loop)的完整模型:调用栈、宏任务队列与微任务队列如何协作,为什么微任务总在下一个宏任务之前清空;用一份份可运行的代码推演输出顺序,彻底讲清 setTimeout、Promise.then、queueMicrotask 的优先级关系。随后回溯回调地狱的痛点与 Promise 的三种状态、链式调用与错误穿透,对比 all/allSettled/race/any 的适用场景;再剖析 async/await 的语法糖本质、await 的串行陷阱与并行优化、try/catch 的捕获边界,并对比浏览器与 No