promise

学习使用Promise

What

表示一个异步状态处理函数。默认状态是未处理,可以变为成功或失败,状态变化不可逆。

When

当函数需要异步执行时,用来取代回调函数的。

Why

当我们需要多次异步嵌套时,使用回调函数的方式代码不够直观,所以才使用promise解决这个问题。

How

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 创建Promise实例
const promise = new Promise( function(resolve, reject) {
if(异步操作成功) {
resolve(value);
} else {
reject(error);
}
} );
// 状态变化后的回调
promise
.then( function(value) {
// 成功后的回调
} )
.catch( function(error) {
// 失败后的回调
} );

Promise.race([promise1, promise2, …])

将多个Promise实例包装成一个新的Promise 实例。
当有一个实例改变状态后,新的Promise实例就改变状态。

Promise.all([promise1, promise2, …])

将多个Promise实例包装成一个新的Promise 实例。
当所有实例的状态都变为成功时,新的Promise实例就改变状态为成功;当其中一个状态变为失败时,新的Promise实例就改变状态为失败。

坚持原创技术分享,您的支持将鼓励我继续创作!