异步执行顾名思义,就是不同时执行,分先后
计算机程序执行分为同步执行,和异步执行
同步执行
所谓的同步执行,就是正常的计算机程序执行的3大顺序流程
顺序控制语句 从上至下,从左至右
分支控制语句 if,switch
循环控制语句 for,while,do...while,for...in,forEach()
异步执行
所谓的异步执行,是一种特殊的程序的执行方式
setInterval setTimeout
事件的绑定 onclick...
ajax请求
所谓异步程序的执行
1,所有的异步程序的执行,都会在同步程序执行结束之后,再来执行
2,异步程序的执行顺序,如果时间相同,看代码的先后顺序
如果时间不同,时间短的,先执行
描述异步程序执行的过程
1,从一行代码开始执行程序
2,同步程序正常执行
3,如果发现是异步程序,暂时不执行
存储在异步池中,等待执行
4,将程序中所有的同步程序执行完毕后
5,开启异步池,执行异步程序
当设定的时间到达,就会执行对应的异步升序
先到设定时间的异步程序,先执行
如果设定的时间相同,看异步程序的顺序,来执行
必须要牢记,异步程序的执行,一定是在所有同步程序执行结束之后,才会开始执行
实例
<script>
//从一行代码开始执行程序
//同步程序正常执行
var i = 1;
//发现是异步程序,暂时不执行
//存储在异步池中,等待执行
var time = setInterval(function(){
i = 1;
i++;
if(i == 2){
clearInterval(time);
}
console.log('我是异步执行的程序1111');
} , 3000);
//发现是异步程序,暂时不执行
//存储在异步池中,等待执行
var times = setInterval(function(){
i = 1;
i++;
if(i == 2){
clearInterval(times);
}
console.log('我是异步执行的程序2222');
} , 1000);
//将程序中所有的同步程序执行完毕后
console.log('我是同步执行的程序')
//开启异步池,执行异步程序
//当设定的时间到达,就会执行对应的异步升序
//先到设定时间的异步程序,先执行
//如果设定的时间相同,看异步程序的顺序,来执行
</script>
运行图
假如 我们把 time 和 times 里面的刷新执行时间 都设置为 1000毫秒;我们来看一下它的执行顺序
由于本人的原因,发不了视频😭😭😭,望见谅。
这里是按照 前后顺序执行的,跟 time 里面的时间设置为 1000毫秒,times 里面设置成 2000 毫秒的效果有一些相同,比如都是先执行 time里面的内容。
接下来我们看一下time 为 1000毫秒的 和 times 为2000毫秒的效果图