1. promise  这个在连接MYSQL数据库使用 可能会出现报错

function sleep(delay){
  return function(){
    return new Promise(function(resolve, reject){
      setTimeout(resolve, delay);
    });
  }
}

var promise = new Promise(function(resolve){
  console.log('do something');
  resolve();
}).then(sleep(2000)).then(function(){
  console.log('after sleep 2000');
});

2. es6-generator

function sleep(ms) {
  return function (cb) {
    setTimeout(cb, ms);
  };
}

co(function *() {
  var now = Date.now();
  yield sleep(2000);
  expect(Date.now() - now).to.not.be.below(2000);
})();

声明:如下方法一个死循环方法 实际项目中不可取 你的CPU会爆掉

var array = [1,2,3,4];

function sleep(milliSeconds){
    var startTime =new Date().getTime();
    while(new Date().getTime()< startTime + milliSeconds);
} 

function check(){ 
if(array.length > 0){
   var url = array.pop();
   load(url);
  }
}

function load(url){
 console.log(url);
 console.log('waiting');
 sleep(10000); //暂停10s
 check();
}

load();
return;