1.什么是单线程,和异步的关系
- 单线程就是同时只做一件事,两段 JS 不能同时执行
- 原因就是为了避免 DOM 渲染的冲突
- 异步是一种“无奈”的解决方案,虽然有很多问题
2. 什么是 event-loop
- 事件轮询,JS 实现异步的具体解决方案
- 同步代码,直接执行
- 异步函数先放在 异步队列 中
- 待同步函数执行完毕,轮询执行 异步队列 的函数
3.是否用过 jQuery 的 Deferred
- 可以 jQuery 1.5 对 ajax 的改变举例
- 说明如何简单的封装、使用 Deferred
- 说明 promise 和 Deferred 的区别
4.Promise 的基本使用和原理
- 基本语法回顾
- 异常捕获
- 多个串联
- Promise.all 和 Promise.race
- Promise 标准
5.介绍一下 async/await
- 基本语法
- 使用了 Promise ,并没有和 Promise 冲突
- 完全是同步的写法,再也没有回调函数
- 但是:改变不了 JS 单线程、异步的本质