javascript高级篇之同步任务和异步任务的区别

816 阅读1分钟

本人已参与「新人创作礼」活动,一起开启掘金创作之路。

同步任务和异步任务的介绍

在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