在javascript for循环sleep

Posted 程序员石磊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在javascript for循环sleep相关的知识,希望对你有一定的参考价值。

直接上代码吧



var interval = 1 * 1000; // 10 seconds;

for(let i= 0 ;i<1000;i++)
    setTimeout( function (i) 
        console.info(new Date().pattern("yyyy-MM-dd hh:mm:ss"))

    , interval * i, i);


Date.prototype.pattern=function(fmt) 
    var o = 
        "M+" : this.getMonth()+1, //月份
        "d+" : this.getDate(), //日
        "h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时
        "H+" : this.getHours(), //小时
        "m+" : this.getMinutes(), //分
        "s+" : this.getSeconds(), //秒
        "q+" : Math.floor((this.getMonth()+3)/3), //季度
        "S" : this.getMilliseconds() //毫秒
    ;
    var week = 
        "0" : "/u65e5",
        "1" : "/u4e00",
        "2" : "/u4e8c",
        "3" : "/u4e09",
        "4" : "/u56db",
        "5" : "/u4e94",
        "6" : "/u516d"
    ;
    if(/(y+)/.test(fmt))
        fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
    
    if(/(E+)/.test(fmt))
        fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "/u661f/u671f" : "/u5468") : "")+week[this.getDay()+""]);
    
    for(var k in o)
        if(new RegExp("("+ k +")").test(fmt))
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
        
    
    return fmt;


以上是关于在javascript for循环sleep的主要内容,如果未能解决你的问题,请参考以下文章

在javascript for循环sleep

For循环冻结Javascript?

java for循环中的sleep

for 循环中的 Java Thread.sleep()

JS实现停留几秒sleep,Js中for循环的阻塞机制,setTimeout延迟执行

Java Sleep无法循环工作[关闭]