函数式编程与 JS 异步编程、手写 Promise
函数式编程与 JS 异步编程、手写 Promise
简答题
- 谈谈你是如何理解 JS 异步编程的?
- EventLoop、消息队列都是做什么的?
- 什么事宏任务,什么是微任务?
-
JS 异步编程
JavaScript 语言的执行环境是单线程的,一次只能执行一个任务,多任务需要排队等待,这种模 式可能会阻塞代码,导致代码执行效率低下。为了避免这个问题,出现了异步编程。一般是通过 callback 回调函数、事件发布/订阅、Promise 等来组织代码,本质都是通过回调函数来实现异 步代码的存放与执行。
-
EventLoop 事件循环和消息队列
EventLoop 是一种循环机制,不断去轮询一些队列,从中找到需要执行的任务并按顺利执行 的一个执行模型。消息队列 是用来存放宏任务的队列,比如定时器时间到了,定时器内传入的方法引用会存 到该队列,ajax 回调之后的执行方法也会存到该队列。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类