mafeifan
9/22/2017 - 5:50 AM

Promise-setTimeout.js

function Say(name){
  return new Promise(function(resolve, reject){
    switch(name){
      case 'a':
        setTimeout(function(){
          console.log(name);
          resolve();
        }, 3000);
      break ;
      case 'b':
        setTimeout(function(){
          console.log(name);
          resolve();
        }, 2000);
      break ;
      case 'c':
        setTimeout(function(){
          console.log(name);
          resolve();
        }, 1000);
      break ;
      case 'd':
        console.log(name);
        resolve();
      break ;
    }
  });
}

Say('a')
.then(function(){return Say('b')})
.then(function(){return Say('c')})
.then(function(){return Say('d')})