update: Promise
This commit is contained in:
parent
5d202b3a74
commit
08493c1baf
@ -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,使得控制异步操作更加容易。
|
||||
|
||||
|
||||
|
||||
### 回调地狱的举例
|
Loading…
Reference in New Issue
Block a user