异步 (async)

在了解异步之前,我们要了解一下Js引擎的运作流程。

  • Js是单线程并发语言
  • 事件循环

1. 什么是异步?

异步是相对于同步而言的,同步(sync)就是按照队列顺序依次执行事件。只有上一个事件执行完成才会执行下一个事件。

``

常见的异步模式

  • 回调函数
  • 事件监听
  • 发布/订阅模式(观察者模式)
  • Promise
  • Generator
  • async/swait

如何实现异步 --Event Loop(事件循环机制)

当js解释执行的时候,会被引擎分为两类任务, 同步任务 (synchronous) 异步任务(asynchronous)。同步任务会被放到 执行栈中执行,异步任务则放到任务队列中 等待js引擎调用。当执行栈当中的所有同步任务都执行完成,Js引擎才会去任务队列里查看是否有任务存在,并且将任务放在执行栈当中执行,任务执行完成之后又到

事件循环 (Event Loop)