当前位置: 首页 > news >正文

异步知识点

如何理解异步
异步是指程序在执行耗时操作(I/O、定时器、网络请求等)时,不会阻塞当前执行流程,而是将耗时操作委托给宿主环境(浏览器 / Node)处理,主线程继续执行后续代码;当耗时操作完成后,会通过「回调」通知主线程,主线程空闲时再执行对应的回调逻辑

为什么 JS 要设计成单线程?

JS 最初为了操作 DOM,如果多线程同时改 DOM,会出现冲突、渲染错乱;单线程能保证 DOM 操作顺序可控、安全。
异步 + 事件循环,解决单线程阻塞卡顿问题

同步、异步区别?
同步:代码从上到下排队执行,后面等前面做完,会卡住主线程。
异步:耗时任务(请求 / 定时器)放后台等着,主线程继续往下走;完成后进队列,空闲再回头执行。

宏任务、微任务分别有哪些?

宏任务:setTimeout/setInterval、I/O 操作、DOM 事件、requestAnimationFrame、fetch

微任务:Promise.then/catch/finally、async/await(底层是 Promise)、queueMicrotask、MutationObserver

async/await 和 Promise 的执行顺序有什么关系?

async/await 是 Promise 的语法糖:

  • async 函数返回 Promise。
  • await 后面的代码会被包装成 Promise.then,放入微队列
  • 执行顺序:await 会暂停当前函数执行,让出主线程,等 Promise 决议后再将后续代码放入微队列

为什么 setTimeout (fn, 0) 不是立即执行?

  • setTimeout 是宏任务,会被放入定时器队列,等待当前调用栈和微队列清空后才执行
  • 即使延迟设为 0,也受浏览器最小延迟限制(通常 4ms),且需等待事件循环调度,所以无法真正「立即执行」

如何理解事件循环
JS 是单线程的,事件循环是处理异步任务的核心机制。我们可以把异步任务分为宏任务和微任务两类:

  1. 主线程先执行所有同步代码,直到调用栈为空
  2. 然后会优先清空所有微任务(比如 Promise.then、async/await),直到微任务队列完全为空
  3. 接着从宏任务队列里取出一个任务执行(比如 setTimeout、DOM 事件),执行完后再次回到第 2 步,清空微任务
  4. 如此循环往复,保证页面不被阻塞,同时高效处理异步逻辑
http://www.cnnetsun.cn/news/1735729.html

相关文章:

  • OpenClaw模型微调:Qwen3-14b_int4_awq适配特定领域术语库
  • Seo Won-i有哪些粉丝
  • 文脉定序应用场景:医疗知识图谱检索中症状-诊断-用药三元组重排序实践
  • 抖音无水印批量下载工具:3大技术突破让内容采集效率提升20倍
  • 上万套PPT模版!双网盘下载
  • 导丝磨床厂家信息分享6
  • Win11环境搭建SRS RTMP流媒体服务器:从零到推流实战指南
  • Ollama部署internlm2-chat-1.8b:支持中文Prompt工程的最佳实践与模板分享
  • OpenClaw浏览器自动化:Qwen3-14b_int4_awq驱动爬虫与数据清洗
  • GLM-4.1V-9B-Base与MATLAB仿真结合:自动化分析仿真结果图表
  • OpenClaw任务编排:千问3.5-27B处理依赖关系的智能调度
  • SEO 站内优化与网站架构优化有什么关系
  • 3个技术突破实现抖音直播实时数据采集与分析
  • RPG Maker MV/MZ文件解密工具:轻松解锁游戏资源的神奇钥匙
  • QMC音频格式解密解决方案:高效破解音乐加密的效率工具
  • Onekey:5分钟快速搞定Steam游戏清单配置的终极自动化工具
  • GLM-4.7-Flash新手教程:Ollama命令行与Web UI双模式体验
  • 游戏鼠标优化工具:让普通鼠标在macOS上实现专业级体验
  • G-Helper实战指南:轻量级华硕笔记本控制工具深度解析
  • Tesseract OCR深度解析:5个实战技巧提升文字识别准确率
  • 放弃callout!用cover-view打造微信小程序地图的个性化信息窗口(附多气泡稳定方案)
  • LizzieYzy围棋AI分析工具:专业棋手的智能复盘助手终极指南
  • 5分钟快速激活Windows和Office:KMS_VL_ALL_AIO完整指南
  • LongCat动物百变秀案例:一张猫图变出十种造型,创意无限
  • WaveTools鸣潮工具箱:重构游戏体验的开源优化引擎全解析
  • 5大核心功能驱动管理工具:DriverStore Explorer高效清理与深度优化指南
  • 弦音墨影惊艳演示:水墨粒子汇聚成目标Bounding Box的动态生成过程
  • 3种高效方案解决Kindle电子书封面不显示问题
  • 如何在Chrome浏览器中高效下载网络视频:VideoDownloadHelper完全指南
  • 3步终结C盘爆红:Windows Cleaner系统优化实战指南