什么是宏任务、微任务?宏任务、微任务有哪些?又是怎么执行的?

关于 Javascript 的执行顺序,众所周知是按照顺序自上而下执行。但是在我们面试过程中。总会遇到面试官问:这段代码是如何执行的,输出结果是怎样的,然后再讲下为什么。对于这种问题,难的不是输出什么,而是为什么,输出结果我们可以像做选择题一样输出,但是为什么才是问题的关键,但我们很少能够答道点上。


一、那么宏任务和微任务是什么呢?


首先,我们要先了解下 Js 。js 是一种单线程语言,简单的说就是:只有一条通道,那么在任务多的情况下,就会出现拥挤的情况,这种情况下就产生了 ‘多线程’ ,但是这种“多线程”是通过单线程模仿的,也就是假的。那么就产生了同步任务和异步任务。

二、宏任务、微任务有哪些?
宏任务:1. script (可以理解为外层同步代码)2. setTimeout/setInterval3. UI rendering/UI事件4. postMessage,MessageChannel5. setImmediate,I/O(Node.js)

微任务:1. Promise2.process.nextTick(Node.js) 3. Object.observe(已废弃;Proxy 对象替代)4. MutaionObserver
 

三、宏任务、微任务是怎么执行的?


执行顺序:先执行同步代码,遇到异步宏任务则将异步宏任务放入宏任务队列中,遇到异步微任务则将异步微任务放入微任务队列中,当所有同步代码执行完毕后,再将异步微任务从队列中调入主线程执行,微任务执行完毕后再将异步宏任务从队列中调入主线程执行,一直循环直至所有任务执行完毕。
 

在这里插入图片描述

 --------------

例子

1.遇到setTimeout,异步宏任务,将() => {console.log(4)}放入宏任务队列中;

2.遇到new Promise,new Promise在实例化的过程中所执行的代码都是同步进行的,所以输出1;

3.而Promise.then中注册的回调才是异步执行的,将其放入微任务队列中
4.遇到同步任务console.log(2),输出2;主线程中同步任务执行完
5.从微任务队列中取出任务到主线程中,输出3,此微任务中又有微任务,Promise.resolve().then(微任务a).then(微任务b),将其依次放入微任务队列中;
6.从微任务队列中取出任务a到主线程中,输出 before timeout;
7.从微任务队列中取出任务b到主线程中,任务b又注册了一个微任务c,放入微任务队列中;
8.从微任务队列中取出任务c到主线程中,输出 also before timeout;微任务队列为空
9.从宏任务队列中取出任务到主线程,此任务中注册了一个微任务d,将其放入微任务队列中,接下来遇到输出4,宏任务队列为空
10.从微任务队列中取出任务d到主线程 ,输出test,微任务队列为空
 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
即时协作,就像消息传递一样简单。 Hiro让您使用简单的文本片段来组织事情。 他们甚至为最混乱的人们工作,非常适合以下情况:•与朋友保持联系。 所欠款项,建议事项全都集中在一个地方。 此信息通常散布在数十封电子邮件或聊天中。 使用Hiro可以很容易地将它们组合在一起。 •自由组织事情,没有任何复杂的结构。 还在桌面上使用文本文件吗? 像我们。 这就是为什么我们开始研究Hiro。 我们希望文本的速度和简洁性以及同步和共享的能力。 •将您的联系人的智慧联系在一起,而不是一成不变的聊天记录。 城里最好的新餐厅是什么? 80年代最伟大的科幻电影? 通常,这些问题一遍又一遍地被问到,Hiro在一处收集所有答案。 Hiro速度极快,可脱机工作并在所有设备之间无缝同步。 ------------------常见问题解答:------------------与Evernote或其他笔记记录有何不同?笔记共享应用程序? Hiro始终在所有设备之间完美同步(在云中备份),允许脱机访问,与朋友共享并立即打开。 一次执行其中的三项操作很容易,而同时执行全部四项则很困难。 您是否支持orgMode,Pomodoro,Eisenhower或其他生产力概念? 是的。 因为Hiro只是纯文本,所以我们不执行任何结构,而是让您选择最适合您的结构。 它有点像Notational Velocity,只是具有上面提到的其他好处。 我已经在使用Whatsapp或任何其他群组Messenger,Hiro有用吗? 是的。 请参阅屏幕截图中的示例。 Hiro提供更多永久性信息。 如果您曾经以为“它一定在这里”,曾经在各种应用程序和电子邮件客户端上疯狂地滚动和搜索,您会喜欢Hiro的。 人们需要注册才能使用Hiro吗? 否。与Dropbox或云端硬盘不同,您可以共享要与之通信的人使用的私人令牌,而无需注册。 你的妈妈会喜欢的。 我正在使用文本文件,Textmate或我的收件箱作为任务管理工具和管理器。 我应该看看弘吗? 非常非常强烈。 很多人选择Hiro正是因为它允许他们使用纯文本进行任务管理,因此,朋友和同事组可以创建他们喜欢的任何组织原则。 Hiro支持哪些字符集? Hiro支持并同步Unicode UTF8,UTF16和UTF32,包括补充多语言平面,可以容纳从音乐或数学笔记到Emoji的几乎所有内容。 除了HTML5应用程序的响应宽度外,将其用作浆糊盒是非常安全的,它可以用作快速注释,其中包含几乎所有编程语言,包括Javascript,markdown源,JSON,REST,CSS,HTML等,当然还有一些不错的旧版本与朋友一起使用ASCII艺术。 Hiro像在线文字处理器一样吗? 不。当您的注意力集中在正式写作时,这些工具适用于较长的文本。 Hiro适用于那些工具太慢或开销太大的情况。 考虑快速记笔记和共享笔记。 便条纸或便条纸。 Hiro完全免费吗? 每天正常使用:是的,永远。 但是某些功能需要每月计划(这是我们的业务模式),而不是将数据出售给广告客户。 但是,您始终可以根据需要与任意数量的朋友共享任意数量的笔记。 支持语言:English
中央电大计算机应用技术基础网上形成性考核答案资料 01任务 一、单项选择题AAABDACACBDDDCABADBB 1. 微机从结构形式上又可以分为( )和便携式计算机。A. 台式计算机 2. 计算机按其规模或系统功能,可以分为巨型机、大型机、中型机、小型机和( )等几类 A. 微型机 3. 常用的台式计算机主要由( )、显示器、键盘、鼠标和音箱等几个关键部件组成。 A. 主机 4. BIOS的中文含义是B. 基本输入输出系统 5. 下列哪些不是常见的BIOS品牌之一? D. Asus 6. 如果希望电脑每次启动都要输入密码才能进入操作系统,可以再BIOS将密码类型设 为A. System 7. GHOST镜像文件的扩展名为C. GHO 8. 具有很强异种互联网能力的广域网络设备室A. 路由器 9. 一个家庭用户要办理接入互联网手续,应找C. ISP 10. 目前,局域网的传输介质主要是( )、同轴电缆和光纤B. 双绞线 11. 在局域网中的各个节点,计算机都应在主机扩展槽中插有网卡,网卡的正式名称是D. 网络适配器 12. 调制解调器(Modem)的功能是实现D. 模拟信号与数字信号的转换 13. 以下哪些行为输入威胁计算机网络安全的因素?D. 以上均是 14. 防病毒系统在哪个阶段可以获得病毒入侵报告?C. 评估与恢复阶段 15. 目前病毒的主要类型是?A. 木木与蠕虫 16. 宏病毒是随着Office软件的广泛应用,有人利用高级语言宏病毒编制的一种寄生于( )的宏中的计算机病毒。 B. 文档或模板 17. 数字签名是实用A. 自己的私钥签名 18. 下列对子网系统防病毒的描述错误的是D. 防止内部和外部的威胁 19. 被以下哪种病毒感染后,会使计算机产生下列现象:系统资源被大量占用,有时会弹出 RPC服务终止的对话框,并且系统反复重启,不能收发邮寄、无法正常浏览网页,复制粘 贴等操作受到严重影响,DNS和IIS服务遭到非法拒绝等。B. 冲击波 20. 当发现病毒时,首先应做的是B. 断网 二、判断题BBBAAABBBAAAABBBABAA 1. 把CPU、内容、硬盘、光驱盒电源等硬件设置,通过计算机主板连接,并安装在机箱 中,称为主机B. 正确 2. 在采购计算机时主板的芯片组需与CPU平台相同B. 正确 3. 中央处理器功能主要是解释计算机指令以及处理计算机软件中的数据B. 正确 4. 主频、倍频、外频的关系式:主频=外频/倍频A. 错误 5. 固态硬盘相比机械硬盘存取速度快、体积小、发热高、防震抗摔A. 错误 6. 现在硬盘基础上都采用了SATA2结构形式A. 错误 7. 要进入BIOS设置界面,通常情况下是在电脑启动自检状态下,根据提示,按DEL或F 2等键B. 正确 8. 如果BIOS程序被病毒破坏,计算机将无法启动B. 正确 9. BIOS设置也可称为CMOS设置B. 正确 10. 电脑启动,一般只能从硬盘或光盘启动A. 错误 11. 如果希望电脑每次启动都要输入密码才能进入操作系统,可以再BIOS将密码类型设置为 SETUP A. 错误 12. GHOST镜像文件的扩展名为GHS A. 错误 13. 用GHOST快速重装系统,前提是之前进行过GHOST镜像备份A. 错误 14. 用GHOST快速恢复系统时,如果有多个目标硬盘和目标分区,可以随意选择B. 正确 15. 如果没有正确安装设备驱动程序,电脑有些硬件可能无法正常使用B. 正确 16. MODEM是上网必须的网络设备B. 正确 17. 计算机申请了账号并采用PPPOE拨号方式接入英特网后,该机就拥有固定的IP地址A. 错误 18. 在局域网中,计算机硬盘上的文件盒数据可以被网络中其他计算机共享B. 正确 19. PPPOE拨号联网不是常用的上网方式A. 错误 20. 若一台计算机感染了病毒,只有删除所有带毒文件,就能消除所有病毒A. 错误 02任务 一、单项选择题DAABBBBACACABACADBC 1. 苹果手机的操作系统是D. IOS 2. Android一词的本意是A. 小绿人 3. Windows mobile系统安装的软件格式A. .sisx/.sis 4. wi-fi指的是B. 一种可以将个人电脑、手机等终端以无线方式进行相互连接的技术 5. 哪一个智能手机操作系统是开源的系统B. Android安卓 6. 下列全部属于音频文件的是B. FLAC、APE、MP3 7. 下列全部属于视频文件的是B. AVI、WMV、RMVB 8. 下列全部属于图片文件的是A. JPG、TIFF、PNG 9. 下列不属于音频文件的是C. JPG 10. 下列不属于视频文件的是A. WMA 11. 狭义电子商务是将买房、卖方、厂商及其合作伙伴在因特网、内联网和

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值