什么是异步
什么是异步?
编程的时候,经常会出现一些事物需要占用时间,比如我们磁盘I/O,网络访问等等都会占用时间,此时有两种策略
第1种就是一直等,没有完成之前一直等待,一直等到有结果后再继续执行; →同步
第2种,等的时候可以执行后面的程序,如果返回结果了,执行回调函数 →异步
要知道异步语句一定要有回调函数,因为要给异步程序一个入口。我们自己很难模拟异步程序,只能调用系统的异步语句
我们目前接触过的异步语句
setInterval(function(){},1000); //定时器 setTimeout(funcction(){},2000); //延时器 animate({},3000,function(){}) // jQuery的动画 xhr.open("get", "text.txt", true); //Ajax xhr.send()
同步:一般的计算都是同步场景
<script> var a = 0; while (a !=3) { a = parseInt(Math.random() * 10) console.log(a) } console.log("我执行完了") </script>
异步状态,比如定时器
<script> var a=0 setInterval(function(){ a++; console.log(a); },1000) console.log("我先输出") </script>