ES6 Promise多步骤操作

Promise 解决es5中的回调地狱
 
什么是回调地狱?
function a() {
  进行业务逻辑操作
  function b() {
    进行业务逻辑操作
    function c() {
      进行业务逻辑操作
    }
  }
}
这就是回调地狱。。。。。。
 
Promise
let state = 1
function state1(resolve, reject) {
  console.log('start');
if (state == 1) {
  resolve('start 成功')
} else {
  reject('start 错误')
  }
}
function state2(resolve, reject) {
  console.log('next');
  if (state == 1) {
    resolve('next 成功')
  } else {
    reject('next 错误')
  }
}
function state3(resolve, reject) {
  console.log('end');
  if (state == 1) {
    resolve('end 成功')
  } else {
    reject('end 错误')
  }
}
new Promise(state1).then(function (val) {
  console.log(val); // val是返回值
  return new Promise(state2)
}).then(function (val) {
  console.log(val); // val是返回值
  return new Promise(state3)
}).then(function (val) {
  console.log(val); // val是返回值
})
 
.all()方法 在state1,state2执行完之后 ,然后再执行state3
Promise.all( [ new Promise(state1) , new Promise(state2) ] ).then (state3)

.race()方法 在state1,state2任意一个执行完之后 ,然后再执行state3
Promise.all( [ new Promise(state1) , new Promise(state2) ] ).then (state3)
原文地址:https://www.cnblogs.com/sunyang-001/p/10859315.html