2016-12-31 24 views
0

我想打印每個字符串與數組分開間隔5秒。但是,目前它在每秒之後執行。設置延遲/睡眠/等待在每個動作中執行在nodejs

  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(); 

回答

0

你可以試試這個:

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(); 
+0

thanx您迴應,但我使用的cron程序器,並將其打印用戶每隔1秒而不是5秒,我有更新我的問題的詳細信息和代碼也。 –

+0

對不起這是在我的身邊cron時間設置的錯誤,但仍然打印所有用戶一次。 –