初识promise
一.什么是Promise?
Promise是JS异步编程中的重要概念,异步抽象处理对象,是目前比较流行Javascript异步编程解决方案之一。
二.Promise使用
promise对象状态不受外界影响,它有三种状态:
Pending:进行中
Fulfilled:已成功
Rejected:已失败
Promise状态一旦改变就不会再变,任何时候都可以得到这个结果。它的状态改变只有两种结果:
(1) promise 对象初始化状态为 pending
(2) 当调用resolve(成功),会由pending => fulfilled
(3) 当调用reject(失败),会由pending => rejected
Promise对象状态不受外界影响,它有三种状态,只有异步操作的结果才能确定当前处于哪种状态,任何其他操作都不能改变这个状态。这也是Promise(承诺)的由来。
三.promise对象
Promise 处理多个相互关联的异步请求,而我们Promise 可以更直观的方式 来解决 “回调地狱”
const request = url => {
return new Promise((resolve, reject) => {
$.get(url, data => {
resolve(data)
});
})
};
// 请求data1
request(url).then(data1 => {
return request(data1.url);
}).then(data2 => {
return request(data2.url);
}).then(data3 => {
console.log(data3);
}).catch(err => throw new Error(err));
基本使用