码迷,mamicode.com
首页 > 其他好文 > 详细

setTimeout的异步传输机制

时间:2017-08-05 23:39:30      阅读:325      评论:0      收藏:0      [点我收藏+]

标签:打印   设置   分享   color   -128   异步执行   一个   style   image   

setTimeout是异步的,在设置完setTimeout后,指定代码会在设定的时间后加入到任务队列,但并不是立即执行,js是单线程语言,所有的代码按顺序执行,即同步执行,同步执行的代码放在执行队列中,而异步执行的setTimeout放在任务队列中,执行顺序是先执行完执行队列中的代码再去查看任务队列中是否有要执行的代码

技术分享

这段代码看上去好像4应该比5先打印出来,但实际上是先打印出5再打印出4:

技术分享

就如上面所说的,1,3,5都放在执行队列中,而4,2放在任务队列中,所以4,2要等执行队列中的1,3,5执行完后再按它们设定的时间顺序执行,setTimeout所设定的时间是相对于主程序执行结束的时间,并不是一个绝对的值。

setTimeout的异步传输机制

标签:打印   设置   分享   color   -128   异步执行   一个   style   image   

原文地址:http://www.cnblogs.com/cjw-ryh/p/7291848.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!