Javascript 节点-此.func()不是函数
这里是Javascript新手。当我创建一个Javascript 节点-此.func()不是函数,javascript,node.js,scope,prototype,this,Javascript,Node.js,Scope,Prototype,This,这里是Javascript新手。当我创建一个Job对象并调用performTask方法时,我得到“that.task不是函数”。这个在performTask方法的一开始不应该引用作业? 我犯了什么错误? 还有,有没有更好的方法来完成我在这里要做的事情 我犯了什么错误 您正在使用箭头函数此内部箭头函数的解析方式不同,它不会引用您的作业实例 不要对原型方法使用箭头函数 查看以获取更多信息。您的作业.原型.任务函数在哪里?@Overv它在构造函数中传递。可能与 function Job(name, c
Job
对象并调用performTask
方法时,我得到“that.task不是函数”。这个
在performTask
方法的一开始不应该引用作业
?
我犯了什么错误?
还有,有没有更好的方法来完成我在这里要做的事情
我犯了什么错误
您正在使用箭头函数此
内部箭头函数的解析方式不同,它不会引用您的作业
实例
不要对原型方法使用箭头函数
查看以获取更多信息。您的
作业.原型.任务
函数在哪里?@Overv它在构造函数中传递。可能与
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;