我是 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()