I was just trying something for fun and came across this issue. I'm pretty experienced with JavaScript and am totally stumped as to what I am missing that is so obvious. Whenever I run this code, I get an error saying this.Trigger is not a function
. I am using Chrome.
class AutomatedProcess {
constructor(trigger, callback) {
this.Trigger = trigger;
this.Callback = callback;
}
release(event) {
if (this.Trigger()) {
this.Callback(event);
}
}
}
let proc = new AutomatedProcess(function() { return true; }, function() { console.log('hi');});
window.addEventListener('resize', proc.release);
Update! Calling proc.release
when it is not a callback for an event listener seems to work. Example:
class AutomatedProcess {
constructor(trigger, callback) {
this.Trigger = trigger;
this.Callback = callback;
}
release(event) {
if (this.Trigger()) {
this.Callback(event);
}
}
}
let proc = new AutomatedProcess(function() { return true; }, function() { console.log('hi');});
proc.release(); // No error here!