如何在 Node.js 中使用 node-schedule 模块

How to use node-schedule module in Node.js

我是 js 和一般编程的新手。我需要使用 node-schedule 在我的脚本中分离计划作业,但我不知道如何操作,因为每次执行第一个计划作业时,它会立即执行第一个和第二个作业。

而且函数甚至以相反的方式执行,第二个函数先执行(设置的时间比第一个函数晚),第一个函数第二个执行。

我的代码:

const schedule = require('node-schedule');

//first job
let firstPost = new Date('2022-01-08T06:30:00.000+4:00');

schedule.scheduleJob(firstPost, function () {
    console.log('first job');
});

// second job
let secondPost = new Date('2022-01-08T06:32:00.000+4:00');

schedule.scheduleJob(secondPost, function () {
    console.log('second job'); 
});

更新(解决方案): 感谢 Sumanta 的回答,到目前为止,我设法通过解析字符串让它工作。这是工作代码,以防有人遇到同样的问题并需要帮助。

const schedule = require('node-schedule');

const unParsedText1 = '{"job1Time":"2022-1-9-14:25", "job2Time":"2022-1-9-14:26"}';
const parsedText1 = JSON.parse(unParsedText1);
parsedText1.job1Time = new Date(parsedText1.job1Time);
parsedText1.job2Time = new Date(parsedText1.job2Time);

function test1() {
    schedule.scheduleJob(parsedText1.job1Time, function () {
        console.log('First job');
    });
}

function test2() {
    schedule.scheduleJob(parsedText1.job2Time, function () {
        console.log('second job');
    });
}
test1()
test2()

node-schedule 有两个参数。 第一个是时间(在 cron 或等效语法中。) 第二个参数是将在语法匹配时触发的回调函数。

检查日期格式。

node> new Date('2022-01-08T06:30:00.000+4:00')
Invalid Date

cron 格式的示例:

const schedule = require('node-schedule');
const date = new Date(2012, 11, 21, 5, 30, 0);

const job = schedule.scheduleJob(date, function(){
  console.log('The world is going to end today.');
});