insed the function pomadoroTime()
, there are other function and the function this.start()
start the clock and when the time over I call this.fivePause()
that start the 5 minutes pomadoro pause, but I got a error saying that the function this.fivePause()` doens’t exist. What am I doing wrong?
setInterval
changes the execution context of your function, meaning this
no longer references your timer object but the window object instead. The easiest way to fix this is with ES6 arrow functions, but you can also just cache a reference to this
within a closure.
test = (function() {
var self = this; //use self anywhere you'd use this
return setInterval(function() {
// ... stuff
}
})() // this is an IIFE, or immediately invoked function expression. It's a function that runs immediately, natch.
1 Like