Promise( )

为了实现异步有序的问题,可用回调函数层层嵌套解决,但很麻烦,为了解决这个问题,ES6引入了Promise( )来解决异步有序的问题。

1:创建一个Promise对象

代码示例如下:

var promise = new Promise(function(resolve, reject) {
// 异步处理
// 处理结束后、调用resolve 或 reject
});

当异步代码执行成功后,调用resolve(,,,)。
失败后,调用reject(,,,)

2:通过Promise对象的then方法实现

a)Promsise( )身上有三个状态:pending;fulfilled;rejected

b)调用Promise的回调函数:当异步函数体里的代码执行成功后,调用resolve函数时,会将Promise的状态从pending变为fulfilled;当调用reject函数时,会将Promise的状态从pending变为rejected

3:Promise.prototype.then()方法

a)两个参数:onFulfilled(可选)当Promise的状态变为fulfilled时,会触发此监听器;onRejected(可选),当Promise的状态变为reject状态时,会触发此监听器;

示例如下:

var p1 = new Promise((resolve, reject) => {
resolve('成功!');
});

p1.then(value => {
console.log(value); // 成功!
});

猜你喜欢

转载自www.cnblogs.com/yt0817/p/12046590.html