1.什么是单线程?和异步有什么关系?
- 单线程就是同时只做一件事,两段JS不能同时执行
- 原因是为了避免DOM渲染的冲突
- 异步是一种“无奈”的解决方案,虽然有很多问题
2.什么是event-loop?
- 事件轮询,JS异步的解决方案
- 什么是异步队列,何时被放入异步队列
- 轮询的过程
3.jQuery Deferred
- 可以jQuery 1.5 对ajax的改变举例
- 说明如何简单的封装,使用Deferred
- 说明Promise和Deferred的区别
4.Promise的使用和原理
- 基本语法
- 如何捕获异常
- 多个串联–链式执行
- Promise.all和Promise.race
- Promise标准 – 状态变化,.then 函数
5.async/await
- 基本语法
- 使用了Promise,并没有和Promise冲突
- 但是:改变不了JS单线程的本质
当前异步的解决方案
- jQuery Deferred
- Promise
- Async/Await
- Generator(复杂,且不是异步的直接替代方案)