JavaScript实现sleep

2021-02-18  本文已影响0人  Mr老朝

1、最原始

function sleep(delay) {
    var start = Date.now();
    while (Date.now() < start + delay);
}

function test() {
  console.log('111');
  sleep(2000);
  console.log('222');
}

test()
function sleep(d){
  for(var t = Date.now(); Date.now() - t <= d;);
}
console.log('111');
sleep(2000);
console.log('222');

2、Promise

function sleep(ms){
    var temple=new Promise(
    (resolve)=>{
        console.log(111);setTimeout(resolve,ms)
    });
    return temple
}
sleep(500).then(function(){
    console.log(222)
})

3、async

function sleep(ms){
        return new Promise((resolve)=>setTimeout(resolve,ms));
    }
async function test(){
    var temple=await sleep(1000);
    console.log(1111)
    return temple
}
test();

4、generator

function* sleep(ms){
    yield new Promise(function(resolve,reject){
              console.log(111);
              setTimeout(resolve,ms);
         })  
 }
 sleep(500).next().value.then(function(){console.log(2222)})
上一篇下一篇

猜你喜欢

热点阅读