Node.js 如何在for循环中使用节点调度来调度任务?

Node.js 如何在for循环中使用节点调度来调度任务?,node.js,express,Node.js,Express,我有一个问题,我必须在一天中的不同时间安排一些任务,对于这一次的安排,我使用cron获取所有数据并相应地安排它,但当我在for循环中安排作业时。每个作业执行多次。这是我的密码 for(var i=0;i<_resultDataToPushLength;i++) { var __date90=new Date(_DatesPlus90[i]) var __date80=new Date(_DatesPlus80[i]) var __rescheduleDate=new Date(

我有一个问题,我必须在一天中的不同时间安排一些任务,对于这一次的安排,我使用cron获取所有数据并相应地安排它,但当我在for循环中安排作业时。每个作业执行多次。这是我的密码

for(var i=0;i<_resultDataToPushLength;i++)
{
  var __date90=new Date(_DatesPlus90[i])
  var __date80=new Date(_DatesPlus80[i])
  var __rescheduleDate=new Date(_DatesToReschedule[i])
  var j = schedule.scheduleJob(scheduleId,[__date90,__date80,__rescheduleDate] ,     
function() {
  console.log(scheduleId)
})

for(var i=0;i我认为使用异步模块将解决您的问题。
这是链接

试试这段代码,看看它是否有效

var async = require("async"); 
var arr = new Array();

for(var i=0;i<=datalength;i++){
    arr[i]=i;
}

async.forEach(arr,1,function(item,callback){
    var __date90=new Date(_DatesPlus90[i])
    ar __date80=new Date(_DatesPlus80[i])
    var __rescheduleDate=new Date(_DatesToReschedule[i])
    var j = schedule.scheduleJob(scheduleId,[__date90,__date80,__rescheduleDate] ,     
    function(){
        console.log(scheduleId);
        callback();
   });
});
var async=require(“async”);
var arr=新数组();

对于(var i=0;iMy bad,一切正常只是数组中的日期时间是过去的日期,所以回调函数在过去的每个日期时间执行一次。

为什么要使用for loop?在可用节点模块中已经有许多类型的调度选项,实际上我必须每天6:00调度任务am.所以我从数据库中获取所有数据,并开始循环调度。
循环不需要执行此操作,您可以使用我提供的链接到的模块调度任务,并像往常一样在该模块中进行db调用。但是我如何取消作业,因为在某些情况下我必须取消作业。在节点调度中我们可以通过传递job name to cancel()方法“实际上,我必须在每天早上6:00安排任务”来轻松完成任务