如何解决Node Manager中的响应错误?

zbwhf8kr  于 2023-11-17  发布在  Node.js
关注(0)|答案(1)|浏览(137)

我正在使用节点调度程序来调度我的作业,但是得到了Null作为返回,当我尝试使用try和catch块时,没有任何东西被打印出来,但是作业仍然返回null

const jobDate = new Date();
  const jobTz = 'Indian/Reunion';

  const job = schedule.scheduleJob({ date: jobDate, tz: jobTz }, function () {
    console.log('Job Running');
  });

字符串
如果我做console.log(job)然后得到null。不确定错误是什么以及为什么会发生这种情况。

alen0pnh

alen0pnh1#

我找到了一个解决方案,这个问题发生在我们传递{ date: jobDate, tz: jobTz }时。要解决这个错误,我们可以使用moment-timezone包。

const startDateTime = moment.tz(jobDate, jobTz).subtract(1, "hour").toDate();

const job = schedule.scheduleJob(startDateTime, function () {
    console.log('Job Running');
});

字符串
如果我们想使用时区,那么这是最好的处理方式。否则我们可以直接在调度函数中传递startDateTime
作为响应,我们可以像job.name一样获取唯一的作业ID。

相关问题