【问题标题】:Set delay/sleep/wait In each action perform In nodejs设置延迟/睡眠/等待在每个动作中执行在nodejs中
【发布时间】:2017-05-15 07:48:38
【问题描述】:

我想以 5 秒的间隔从数组中分别打印每个字符串。但是,目前它每秒钟执行一次。

            var interval = 5000;
            var index = 0;
            var users = ['12321', '456455', '45665', '45645']

            function printUser() {
                setTimeout(function () {
                    var user = users[index];
                    console.log("Sent To :" + user);
                    index++;
                    if (index < users.length) {
                        printUser();
                    }
                }, interval);
            }

            var when = '00 */1 * * * *';
            var crn = new CronJob(when, function () {

                printUser();

            }, null, true, "GMT");

            crn.start();

【问题讨论】:

    标签: javascript jquery node.js cron scheduled-tasks


    【解决方案1】:

    你可以试试这个:

    function printUser(index,interval) {
         setTimeout(function () {
             var users = ['12321', '456455', '45665', '45645'];
             var user = users[index];
             console.log("Sent To :" + user);
             index++;
             if (index < users.length) {
                  printUser(index,interval);
             }
         }, interval);
     }
    
     var when = '* */1 * * * *';
     var crn = new CronJob(when, function () {
           printUser(0,5000);
     }, null, true, "GMT");
    
     crn.start();
    

    【讨论】:

    • 感谢您的回复,但我使用的是 cron schedular,它每 1 秒而不是 5 秒打印一次用户,我也更新了我的问题详细信息和代码。
    • 对不起,我这边的 cron 时间设置错误,但它仍然一次打印所有用户。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    • 1970-01-01
    • 2022-08-09
    • 2013-03-03
    • 1970-01-01
    相关资源
    最近更新 更多