news 2026/4/30 19:27:54

宏任务和微任务

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
宏任务和微任务
// 理解事件循环的执行顺序 console.log('1. 同步任务开始'); setTimeout(() => { console.log('6. 宏任务执行'); }, 0); Promise.resolve().then(() => { console.log('4. 微任务执行'); }); console.log('2. 同步任务继续'); Promise.resolve().then(() => { console.log('5. 另一个微任务'); }); console.log('3. 同步任务结束'); // 输出顺序:1 2 3 4 5 6

代码执行步骤

  1. 同步任务执行
    • console.log('1. 同步任务开始');:这是一个同步任务,会立即执行并输出1.同步任务开始
    • console.log('2. 同步任务继续');:同样是同步任务,继续执行并输出2. 同步任务继续
    • console.log('3. 同步任务结束');:同步任务结束,输出3. 同步任务结束
  1. 异步任务处理
    • setTimeout(() => { console.log('6. 宏任务执行'); }, 0);setTimeout是一个宏任务,虽然设置的延迟时间为 0 毫秒,但它不会立即执行,会被放入宏任务队列,等当前调用栈清空后才会执行。
    • Promise.resolve().then(() => { console.log('4. 微任务执行'); });Promise.resolve().then(() => { console.log('5. 另一个微任务'); });Promisethen方法是微任务,会被放入微任务队列。当同步任务执行完后,会优先执行微任务队列中的所有任务。
  1. 最终执行顺序
    • 先执行所有同步任务,依次输出1. 同步任务开始2. 同步任务继续3. 同步任务结束
    • 接着执行微任务队列中的任务,依次输出4. 微任务执行5. 另一个微任务
    • 最后执行宏任务队列中的任务,输出6. 宏任务执行
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 15:51:10

强力突破Cursor试用限制:完整免费重置解决方案

强力突破Cursor试用限制:完整免费重置解决方案 【免费下载链接】go-cursor-help 解决Cursor在免费订阅期间出现以下提示的问题: Youve reached your trial request limit. / Too many free trial accounts used on this machine. Please upgrade to pro. We have th…

作者头像 李华
网站建设 2026/4/20 14:32:11

Hunyuan-MT-7B-WEBUI深度体验:不只是翻译,更是生产力工具

Hunyuan-MT-7B-WEBUI深度体验:不只是翻译,更是生产力工具 在全球化日益深入的今天,语言早已不再是简单的交流工具,而是信息流动、文化传播和商业拓展的关键桥梁。然而,跨语言沟通的成本依然高昂——无论是人工翻译的时…

作者头像 李华
网站建设 2026/4/29 17:53:14

Kronos金融预测实战指南:从新手到高手的避坑手册

Kronos金融预测实战指南:从新手到高手的避坑手册 【免费下载链接】Kronos Kronos: A Foundation Model for the Language of Financial Markets 项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos 你是否曾面对复杂的金融数据感到无从下手&…

作者头像 李华
网站建设 2026/4/24 13:24:16

MediaCrawler:新一代社交媒体数据采集技术全解析

MediaCrawler:新一代社交媒体数据采集技术全解析 【免费下载链接】MediaCrawler-new 项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler-new 在信息爆炸的时代,社交媒体数据已成为洞察市场趋势、分析用户行为的重要资源。MediaCra…

作者头像 李华
网站建设 2026/4/23 12:59:55

10.1 常见调试技巧

10.1 常见调试技巧 在基于FreeRTOS的嵌入式系统开发中,调试的复杂性远超单线程裸机程序。多任务并发、资源共享、时序依赖等特性使得传统的断点调试方法往往力不从心,甚至可能因暂停某个任务而破坏整个系统的运行状态,从而无法复现真实问题。因此,掌握针对RTOS的系统级调试…

作者头像 李华
网站建设 2026/4/29 19:57:01

10.2 FreeRTOS安全认证与移植

10.2 FreeRTOS安全认证与移植 在嵌入式系统的特定应用领域,如工业控制、汽车电子和医疗设备,系统的功能安全与信息安全是强制性要求。同时,随着RISC-V等新兴处理器架构的普及,将成熟的实时操作系统迁移到新硬件平台的需求日益增长。FreeRTOS生态系统为此提供了明确的支持路…

作者头像 李华