计算机程序执行分为同步执行,和异步执行
所谓的同步执行,就是正常的计算机程序执行的3大顺序流程
顺序控制语句 从上至下,从左至右
分支控制语句 if,switch
循环控制语句 for,while,do…while,for…in,forEach()
所谓的异步执行,是一种特殊的程序的执行方式
setInterval setTimeout
事件的绑定 onclick…
ajax请求
所谓异步程序的执行
1,所有的异步程序的执行,都会在同步程序执行结束之后,再来执行
2,异步程序的执行顺序,如果时间相同,看代码的先后顺序
如果时间不同,时间短的,先执行
描述异步程序执行的过程
1,从一行代码开始执行程序
2,同步程序正常执行
3,如果发现是异步程序,暂时不执行
存储在异步池中,等待执行
4,将程序中所有的同步程序执行完毕后
5,开启异步池,执行异步程序
当设定的时间到达,就会执行对应的异步升序
先到设定时间的异步程序,先执行
如果设定的时间相同,看异步程序的顺序,来执行
必须要牢记,异步程序的执行,一定是在所有同步程序执行结束之后,才会开始执行。
例如如下程序:
setInterval(function(){
console.log(‘我是异步执行的程序1111’);
} , 2000);
setInterval(function(){
console.log(‘我是异步执行的程序2222’); } , 1000);
console.log(‘我是同步执行的程序’)
这个程序执行的顺序就是先执行 console.log(‘我是同步执行的程序’)
再去执行异步程序,如果异步程序时间相同,看代码先后顺序,如果时间不同,时间短的先执行。这里因为两个异步程序时间不同,所以先执行
setInterval(function(){
console.log(‘我是异步执行的程序2222’);
} , 1000);
再执行
setInterval(function(){
console.log(‘我是异步执行的程序1111’);
} , 2000);