程序笔记   发布时间:2022-06-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了微任务、宏任务与Event-Loop大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

以后进行疯狂,如果没有关闭弹框,控制台是不会显示出一条信息的。


但是你手头还有点儿事情要处理,这时司机是不可能自己先开着车走的,一定要等到你处理完事情上了车才能走。

ID="微任务与宏任务的区别" style="margin: 10px 0px; padding: 0px; line-height: 1.5; white-space: normal;">微任务与宏任务的区别

你的时候你不在,那么你当前的号牌就作废了,柜员会选择直接跳过进行下一个客户的业务处理,等你回来以后还需要重新取号

本来快轮到你来办理业务,会因为老大爷临时添加的“”而往后推。
?或者 
在处理你的业务之前来做这些事情,这些都可以认为是微任务。


 console.log(4))new Promise(resolve => {
  resolve()
  console.log(1)
}).then(_ => {
  console.log(3)
})

console.log(2)

就是作为宏任务来存在的,而则是具有代表性的微任务,上述代码的执行顺序就是按照序号来输出的。


在实例化的过程中所执行的代码都是同步进行的,而中注册的回调才是异步执行的。
并执行对应的回调,而微任务又会在宏任务之前执行。

 {-  console.log(4)+})+new Promise(resolve => {+  resolve()+  console.log(1)+}).then(_ => {-  console.log(3)+})+console.log(2)

本来已经先设置了定时器(相当于取号),然后在当前进程中又添加了一些的处理(临时添加业务)。

便我们继续在中实例化,其输出依然会早于的宏任务:

 console.log(4))new Promise(resolve => {
  resolve()
  console.log(1)
}).then(_ => {
  console.log(3)
  Promise.resolve().then(_ => {
    console.log('before timeout')
  }).then(_ => {
    Promise.resolve().then(_ => {
      console.log('also before timeout')
    })
  })
})

console.log(2)

的,一般都会在里边有其他的异步操作,比如s.readfile之类的操作。

s. 在中,的实现可以是微任务,也可以是宏任务,但是普遍的共识表示(至少是这么做的),应该是属于微任务阵营的

<>@H_874_64@@H_874_64@@H_874_64@

,说这个也是宏任务,可是在读了以后,发现这很显然是和微任务平行的一个操作步骤
requestAnimationFrame
姑且也算是宏任务吧,requestAnimationFrame在为,下次页面重绘前所执行的操作,而重绘也是作为宏任务的一个步骤来存在的,且该步骤晚于微任务的执行

<>@H_874_64@@H_874_64@@H_874_64@


是一个单进程的语言,同一时间不能处理多个任务,所以何时执行宏任务,何时执行微任务?我们需要有这样的一个判断逻辑存在。



< macrotasklist.length; macroindex++) {   const microtasklist ="">< microtasklist.length; microindex++) {     const microtask =" microTaskList[microIndex]    // 添加一个微任务"     if (microindex ="== 1) microTaskList.push('special micro task')    // 执行任务    console.log(microTask)"   }  // 添加一个宏任务=""   if (macroindex ="== 2) macroTaskList.push(['special macro task'])" }// =""> task1// > task2// > task3// > special micro task// > task4// > special macro task

循环来表示,是因为在循环内部可以很方便的进行之类的操作(添加一些任务),从而使迭代的次数动态的增加。

只是负责告诉你该执行那些任务,或者说哪些回调被触发了,真正的逻辑还是在进程中执行的。

的作用,那么在真实的浏览器中是什么表现呢?

这一项感觉有点儿笼统,有太多的东西都可以称之为,点击一次,上传一个文件,与程序产生交互的这些都可以称之为

结构:


  

大佬总结

以上是大佬教程为你收集整理的微任务、宏任务与Event-Loop全部内容,希望文章能够帮你解决微任务、宏任务与Event-Loop所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。