JavaScript的执行流,无论是浏览器还是Node.js,都是基于 事件循环 。 理解事件循环能够让我们写出更可靠的高性能代码。 让我们先介绍一下事件循环的原理,然后再来看看实际应用。 事件循环(Event Loop) 事件循环的概念非常简单。它就是一个无止境的循环 ...
上面是让浏览器自动执行,没有点击,那就是打印出 listener ,listener ,micro task ,micro task ,走微任务 如果换成是点击的就是listen ,micro task ,listen ,m 就是走宏任务了 ...
2020-06-09 23:25 1 824 推荐指数:
JavaScript的执行流,无论是浏览器还是Node.js,都是基于 事件循环 。 理解事件循环能够让我们写出更可靠的高性能代码。 让我们先介绍一下事件循环的原理,然后再来看看实际应用。 事件循环(Event Loop) 事件循环的概念非常简单。它就是一个无止境的循环 ...
1.什么是宏任务和微任务 JavaScript把异步任务又做了进一步的划分,分为宏任务和微任务: 宏任务(macrotask) 异步ajax请求;setTimeout、setlnterval;文件操作;其他宏任务 微任务(microtask ...
宏任务(macro-task) 定义 消息队列中的任务称为宏任务。 产生 宿主环境提供的方法是宏任务,例如setTimeout, setInterval。这些都是浏览器或者Node环境实现的。 执行 不断从消息队列中取出并被事件循环执行。 类型 注意 ...
先放上小姐姐的博客地址:https://www.cnblogs.com/zhengyeye/p/10774837.html。 这篇文章是看小姐姐的博客才让自己对宏任务和微任务解决题目有了更多的认识的。 前端里面,很多很优秀的小姐姐,多多接近优秀的小姐姐,多多向她们学习。 言归正传 1.js是一个 ...
1.宏任务: 分类:setTimeout setInterval requrestAnimationFrame 1>宏任务所处的队列就是宏任务队列 2>第一个宏任务列中只有一个任务,执行主线程的js代码 3>宏任务队列可以有多个 2.微任务: 分类:new ...
微任务和宏任务属于一个队列,主要区别在于它们的执行顺序(宏任务执行完如果有可执行的微任务则执行完微任务才会继续执行下一个宏任务) 宏任务:包括整体代码script,,setInterval,setImmediate。 微任务:原生Promise(有些实现的promise ...
事件循环 Event Loop 程序中设置两个线程:一个负责程序本身的运行,称为"主线程";另一个负责主线程与其他进程(主要是各种I/O操作)的通信,被称为"Event Loop线程"(可以译为"消息线程")。 所有任务可以分成两种,一种是同步任务(synchronous),另一种是异步任务 ...
在之前的一篇文章中简单理了下JS的运行机制,顺着这条线深入就又遇到了几个概念,什么是事件循环,什么又是宏任务、微任务呢,今天用这篇文章梳理一下。 以下是我自己的理解,如有错误,还望不吝赐教。 事件循环与消息队列 首先大家都知道JS是一门单线程的语言,所有的任务都是在一个线程上完成的。而我们知道 ...