# 异步编程(1):回调函数

# 什么叫「异步」

  • “异步”,就是一个任务分成两段,先执行第一段,转而执行其他任务,等做完后再回来执行剩下的第二段。这种不连续的执行,就叫异步。
  • “同步”,连续的执行的任务就是同步。由于连续执行,不能插入其他任务,类似操作系统从硬盘读取文件所花费的时间,就只能等待,效率很低。

异步编程的语法目标,就是 “让它更像同步编程”

# 回调函数→事件发布/订阅

  • Q:什么是回调函数?

  • A:js异步编程的实现就是回调函数。回调函数就是把任务的第二段单独写在一个callback函数中,等到重新执行该任务时直接调用这个callback函数。

  • Q:回调函数有什么问题?

  • A:回调函数本身没有问题,问题在于多层回调嵌套所导致的“回调地狱”。代码不是纵向发展而是横向发展的,杂乱不好管理。

  • Q:解决途径?

  • A:事件发布订阅就是为了解决回调嵌套问题的。传送门EventEmitter实现

Last Updated: 2/19/2020, 3:13:52 PM