本人已参与「新人创作礼」活动,一起开启掘金创作之路。
同步任务和异步任务的介绍
在javascript中,任务分为两种,同步任务和异步任务。
同步任务:也被叫做非耗时任务,指那些被javascript扫描到之后不用等待立刻就可以执行的任务。
异步任务:也被称为耗时任务,指那些被javascript扫描到之后,不立刻执行,而是要被加入到任务队列中等待一段时间再执行的任务。比如说:setTimeOut,setInterVal,ajax,promise.then(),i/o线程等。
注意:在同一个代码段中的异步任务永远在同步任务之后执行。也就是,异步任务一定要等待同步任务都执行了之后才会执行。
举个例子 ↓
/*假设有这么一个代码块*/
//同步任务
console.log(1);
//注意,setTimeOut是一个异步任务,它一定在同步执行完毕之后再去执行
setTimeOut(() => {console.log(2)},0);
//同步任务
console.log(3)
以上代码段的输出顺序是 1,3,2
因为setTimeOut()是一个异步任务,所以尽管延时时间为0,setTimeOut这个异步任务也要等其他的同步任务执行完毕后再去执行。
总结
- 同步任务是javascript扫描到之后立马可以执行的任务,也被称为非耗时任务
- 异步任务是javascript扫描到之后不能马上执行的任务,需要等待一段时间后再去执行的任务。也被称为耗时任务
- 在同一代码段中,异步任务绝对在同步任务之后去执行
欢迎技术沟通,摸鱼聊天~
备注来自掘金~
wx:XXF1096032096