首页 > 代码库 > Promise对象

Promise对象

传统实现异步操作就是采用回调函数,回调函数方式本身没有什么问题,但是在多重回调函数层层嵌套的情况下,那么代码的可阅读性就会出现问题。

Promise对象 是一个新的异步操作解决方案,比原有的回调函数等方式更为合理

Promise对象 具有三种状态:Pending(等待)、Resolved(已完成) 和 Rejected(未完成)

Promise对象状态的改变只有两种可能: Pending转变为Resolved或者Pending转变为Rejected

 

step1().then(step2).then(step3).then(step4).catch(function(err){

  // do somethingn when err

})

let param; //传递参数载体

function p1() {

  return new Promise(function(resolve,reject){

    setTimeout(function() {

      console.log("aaaaaa");

      // resolve(123);

      param = "第一";

      reject(123)

    },3000);

  });

}

function p2() {

  return new Promise(function(resolve,reject){

    setTimeout(function(){

      console.log("bbbbbb");

      param = "第2";

    })

  })

}

Promise对象