tuobaye0711 / tuobaye0711.github.io

拓跋的前端广场
https://tuobaye.com
4 stars 1 forks source link

通过microtasks和macrotasks看JavaScript异步任务执行顺序 | 拓跋的前端客栈 #38

Open tuobaye0711 opened 5 years ago

tuobaye0711 commented 5 years ago

https://tuobaye.com/2017/10/24/%E9%80%9A%E8%BF%87microtasks%E5%92%8Cmacrotasks%E7%9C%8BJavaScript%E5%BC%82%E6%AD%A5%E4%BB%BB%E5%8A%A1%E6%89%A7%E8%A1%8C%E9%A1%BA%E5%BA%8F/

JS引擎是单线程的。这意味着在任何环境中,只有一段JS代码会被执行。当JS引擎开始执行一个函数时,它就会把这个函数执行完,也就是说只有执行完这段代码才会继续执行后面的代码。这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。因此,JavaScript采用了一种“异步”的方式,在浏览器端,耗时很长的操作都应该异步执行。本文

shizhidi commented 4 years ago

什么时候才算是一个任务队列