2016-12-31 5 views
0

各文字列をアレイとは別に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(); 

答えて

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

ありがとう、私はのcron schedularを使用していますし、それが5秒の代わりに、ユーザーごとに1秒を印刷し、私はまた私の質問の詳細とコードを更新してい。 –

+0

申し訳ありません私の側からcronで間違ったタイミングが設定されましたが、それでもすべてのユーザーが同時に印刷しています。 –

関連する問題