![e5f34496c38d873d88b86751a6793397.gif](https://i-blog.csdnimg.cn/blog_migrate/58ea58f3e560ad5b12ab6ce4a9c495eb.gif)
![4b0d3aa3b53be0d7430b3c5fb1d71e4e.png](https://i-blog.csdnimg.cn/blog_migrate/8851f4bf897d6c325fac20cf39ad6a63.png)
同步任务:
同步任务是那些没有被引擎挂起、在主线程上排队执行的任务。只有前一个任务执行完毕,才能执行后一个任务。就像打电话一样,一个手机只能接一个电话,第二个电话想要接进来,就必须等第一个电话结束。
异步任务:
异步任务是那些被引擎放在一边,不进入主线程、而进入任务队列的任务。只有引擎认为某个异步任务可以执行了(比如 Ajax 操作从服务器得到了结果),该任务(采用回调函数的形式)才会进入主线程执行。排在异步任务后面的代码,不用等待异步任务结束会马上运行,也就是说,异步任务不具有“堵塞”效应。
看下面一段代码在浏览器中的执行的结果:
console.log("1");
setTimeout(function () {
console.log("2");
}, 500);
console.log("3");
1
2
3
4
5
定时器是异步任务,输出3时并没有等定时器执行完毕就输出了。
![09c53e7bc9f94248dd2fd35af132d3e9.gif](https://i-blog.csdnimg.cn/blog_migrate/43896d21fbf2c269f917043fbdaea943.gif)
更多精彩请继续关注小编了解哦!
计算机毕业设计(源程序+论文+开题报告+文献综述+翻译+答辩稿)
联系QQ:2932963541进行咨询
![2cfbc351cb49ee52e0ff7ae2513d37c1.png](https://i-blog.csdnimg.cn/blog_migrate/4030feeaeb7a5bd9daef66811e7ac049.png)
![5d68e5e6e46bc67a811217d2aca89d0e.png](https://i-blog.csdnimg.cn/blog_migrate/4a9786a02faff53b628fa4348d2a672d.jpeg)
![96a6851111bf74bb0ae68827f8ba1011.png](https://i-blog.csdnimg.cn/blog_migrate/41e8dfa78942631e07dba279765955d1.png)