异步执行原理 ---- 详解

异步执行顾名思义,就是不同时执行,分先后

计算机程序执行分为同步执行,和异步执行

同步执行

所谓的同步执行,就是正常的计算机程序执行的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毫秒的效果图

 

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值