update: Promise

This commit is contained in:
qianguyihao 2020-04-07 20:42:03 +08:00
parent 5d202b3a74
commit 08493c1baf
8 changed files with 36 additions and 12 deletions

View File

@ -1,22 +1,46 @@
## 前言 ## 异步调用
文本主要内容: ### 异步
- Promise比较重要 JavaScript的执行环境是**单线程**。
- Symbol 所谓单线程是指JS引擎中负责解释和执行JavaScript代码的线程只有一个也就是一次只能完成一项任务这个任务执行完后才能执行下一个它会「阻塞」其他任务。这个任务可称为主线程
- async函数 异步模式可以一起执行**多个任务**。
## Promise
### 概述
Promise对象: 代表了未来某个将要发生的事件(通常是一个异步操作)。
ES6中的promise对象, 可以**将异步操作以同步的流程表达出来,**很好地解决了**回调地狱**的问题避免了层层嵌套的回调函数。在使用ES5的时候在多层嵌套回调时写完的代码层次过多很难进行维护和二次开发。 ### 接口调用的方式
js 中常见的接口调用方式,有以下几种:
- 原生ajax
- 基于jQuery的ajax
- Fetch
- Promise
- axios
### 多次异步调用的依赖分析
- 多次异步调用的结果,顺序不同步。
- 异步调用的结果如果**存在依赖**,则需要嵌套。
在ES5中当进行多层嵌套回调时会导致代码层次过多很难进行维护和二次开发而且会导致**回调地狱**的问题。而ES6中的Promise 就可以解决这两个问题。
## Promise 概述
### Promise的介绍和优点
ES6中的Promise 是异步编程的一种方案。从语法上讲Promise 是一个对象,它可以获取异步操作的消息。
Promise对象, 可以**将异步操作以同步的流程表达出来**。使用 Promise 主要有以下好处:
- 可以很好地解决**回调地狱**的问题(避免了层层嵌套的回调函数)。
- 语法更佳简洁。Promise 对象提供了简洁的API使得控制异步操作更加容易。
### 回调地狱的举例 ### 回调地狱的举例