js的异步执行原理

大家好,我是逆战班的一名学员,今天跟大家分享的是js的异步执行原理。

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

计算机程序中,大部分都是同步程序所谓的同步执行,就是正常的计算机程序执行的3大顺序流程:顺序控制语句、分支控制语句和循环控制语句。

有一些特殊的程序采用的是异步执行原理,如定时器延时器事件的绑定ajax请求

我们可以先了解一下异步执行的过程。

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);

由此我们可以看出异步执行的原理,所有的异步程序的执行,都会在同步程序执行结束之后,再来执行异步程序的执行顺序,如果时间相同,看代码的先后顺序如果时间不同,时间短的,先执行最重要的一点是必须要牢记,异步程序的执行,一定是在所有同步程序执行结束之后,才会开始执行!

猜你喜欢

转载自www.cnblogs.com/5f5ajhf2/p/12656974.html