设置后取消节点计划事件

Cancel node-schedule event after it has been set

我打算使用 node-schedule 设置约会提醒的推送通知,如下所示:

var schedule = require('node-schedule');
var date = req.body.date;   // Date for reminder from client request 
var j = schedule.scheduleJob(date, function(){
    // Send push notification
});

现在我知道你可以通过调用 cancel() 来取消事件:

j.cancel()

但是,如果客户端的用户决定将约会更改为其他日期,我该如何参考要取消的特定工作?

在此先感谢您的帮助!

为了检索特定的工作,您可以使用唯一名称创建它,稍后您可以通过该唯一名称检索它:

var j = schedule.scheduleJob(unique_name, date, function() {
});
// later on
var my_job = schedule.scheduledJobs[unique_name];
my_job.cancel();
var randf = require('randomstring');    
    var jobId = randf.generate(10); //randomsrting
    var at = new Date();
    var time = at.setSeconds(at.getSeconds() + Number(5))  //after 5 second     
    schedule.scheduleJob(jobId, new Date(time),function(){
         schedule.cancelJob(jobId);
         console.log('hi--viral');
     });