古人云:“君子一言既出;驷马难追”,这种“承诺未来会执行”的对象在JavaScript中称为Promise对象。node
Promise是JS异步编程中的重要概念,异步抽象处理对象,是目前比较流行Javascript异步编程解决方案之一
Axios 是一个基于 promise 的 HTTP 库,能够用在浏览器和 node.js 中。ios
Promise对象es6
new Promise(test).then(function (result) { console.log('成功:' + result); }).catch(function (reason) { console.log('失败:' + reason); });
A+严格定义了 then 方法链式调用时onFulfilled/onRejected的调用顺序编程
promiseObj.then(onFulfilled, onRejected) onFulfilled = function(value){ return promiseObj2 } onRejected = function(value){ return promiseObj2 }
只有所有为resolve才会调用 一般会用来处理 多个并行异步操做数组
const p1 = new Promise((resolve, reject) => { resolve(1111); }); const p2 = new Promise((resolve, reject) => { resolve(2222); }); const p3 = new Promise((resolve, reject) => { reject(3333); }); Promise.all([p1, p2, p3]).then(data => { console.log(data); // [1, 2, 3] //结果顺序和promise实例数组顺序是一致的 }, error => { console.log(error); });