function Job(name, cronString, task) {
"use strict";
this.name = name;
this.cronString = cronString;
this.isReady = false;
this.task = task;
}
Job.prototype.performTask = (db, winston) => {
"use strict";
const Promise = require("bluebird");
let that = this;
return new Promise((resolve, reject) => {
let output = "";
let success = true;
try {
output = that.task();
}
catch(error) {
success = false;
reject(error);
}
if(success) {
resolve(output);
}
});
};
module.exports = Job;
Javascript newbie here. When I make a Job
object and call the performTask
method, I get "that.task is not a function". Shouldn't this
at the very beginning of the performTask
method refer to Job
?
What is the mistake I'm making?
Also, is there a better way of doing what I'm trying to do here?