JavaScript 循环内阻塞数秒执行业务逻辑


xmsb_doSwitch();

/**
 * @param start i的起始值,默认为0
 * @param max i的最大值,默认为10
 * @param interval 每次循环的间隔,默认为3秒
 */
function xmsb_doSwitch(start = 0, max = 10, interval = 3)
{
    var dv = start - 1;

    for(var i = start; i < max; i ++)
    {
        (function(i)
        {
            setTimeout(function()
            {
                xmsb_doSomething(i);
            }, (interval * (i - dv)) * 1000);
        })(i)
    }
}

function xmsb_doSomething(param)
{
    console.log(param);
}

 

posted @ 2022-06-05 11:28  何效名  阅读(246)  评论(0编辑  收藏  举报