美文网首页
JavaScript实现sleep

JavaScript实现sleep

作者: Mr老朝 | 来源:发表于2021-02-18 17:06 被阅读0次

    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)})
    

    相关文章

      网友评论

          本文标题:JavaScript实现sleep

          本文链接:https://www.haomeiwen.com/subject/sfwqxltx.html