异步 - 关于JavaScript主线程与任务队列的疑问
迷茫
迷茫 2017-04-11 12:46:58
[JavaScript讨论组]

我看阮一峰老师的关于JavaScript运行机制的博客时(http://www.ruanyifeng.com/blo...),看到这样一句话:一旦"执行栈"中的所有同步任务执行完毕,系统就会读取"任务队列",看看里面有哪些事件。那些对应的异步任务,于是结束等待状态,进入执行栈,开始执行。
这样说的话,只有在同步任务全部完成的情况下,才会读取任务队列,那么,如果同步任务中有语句触发了任务队列中的异步任务,会在该语句执行时,读取任务队列,还是该语句等到其他同步任务完成后,才会执行?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
阿神

举个比较常见的栗子,以下代码:

console.log('1');
setTimeout(function(){ //异步
    console.log('2');
},0);
console.log('3');

结果:

异步就是最后执行的那个。

PHP中文网

会加入到消息队列,等待执行。
建议好好看一下这个分享,你就明白了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号