织梦CMS - 轻松建站从此开始!

沙龙网上娱乐_沙龙网上娱乐唯一官方网站www.salon365.com

关于javascript 的event loop如何理解event queue的优先级

时间:2017-07-18 04:00来源:未知 作者:admin 点击:
最近看了javascript的eventloop相关资料,对event queue队列优先级没有理解到位还请各位大神帮我指点一二。 第一篇是阮一峰老师的 JavaScript 运行机制详解:再谈Event Loop ;这里面有讲到eve

最近看了javascript的eventloop相关资料,对event queue队列优先级没有理解到位还请各位大神帮我指点一二。
第一篇是阮一峰老师的JavaScript 运行机制详解:再谈Event Loop;这里面有讲到eventloop循环机制,其中有一个event queue队列,里面存放着异步任务的callback;在执行栈执行完成时就会从队列中读取队列任务并执行。这里并没有涉及到优先级,只介绍了event queue是FIFO数据结构。
然后看了第二篇波同学的前端基础进阶(十二):深入核心,详解事件循环机制
波同学在里面讲到了队列分为宏任务和微任务,而且微任务会在执行栈执行完后立即执行,而宏任务要等到下一次的event loop才会被执行;

这里有一个疑问就是eventloop循环机制中到底是只有一个queue队列还是有宏队列和微队列?因为他们俩讲的不同

不管是微任务队列还是宏任务队列都是遵循FIFO,那队列中的任务被读取到执行栈时也应该是按照这个顺序来执行,那该如何理解队列中任务的优先级?比如dom事件操作,ajax请求的回调、以及setTimeout他们之间是否有优先级?

console.log('start');
var xhr = new XMLHttpRequest();
var url = 'test.json';
xhr.open('GET', url,true);
xhr.onreadystatechange = function() {
    if (xhr.status == 200 
      
      (责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容