我怎样才能重新调用这个函数?没有经验的ES6
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我怎样才能重新调用这个函数?没有经验的ES6相关的知识,希望对你有一定的参考价值。
我不知道如何在页面加载后运行第二次调用counter()
我想,我做了一个新的计数器“实例”。这确实有效但必须有正确的方法。我需要在重播()中调用它
/**
* @fileoverview demo
*/
class ReVideo {
constructor() {
this.time = 5;
...
this.timer = document.getElementById("update");
this.counter = setInterval(() => this.countdown(), 1000);
this.fader = fader();
this.counter2 = "";
...
this.retry.addEventListener('click', () => this.replay());
...
}
countdown() {
this.time--;
if (this.time > -1) {
this.timer.innerhtml = "seconds remaining: " + this.time;
} else {
this.timer.innerHTML = "You Lose!";
this.watch.style.display = "block";
this.retry.style.display = "block";
clearInterval(this.counter);
clearInterval(this.counter2);
this.coins++;
this.coinCount.innerHTML = "Coins: " + this.coins;
}
this.notice.style.visibility = "visible";
this.notice.innerHTML = "Loaded";
}
...
replay() {
this.time = 5;
this.watch.style.display = "none";
this.notice.style.visibility = "hidden";
fader("Loaded");
this.retry.style.display = "none";
this.counter2 = setInterval(() => this.countdown(), 1000);
this.counter2;
}
...
}
new ReVideo();
如果我说counter();它不会运行;
答案
你可以有一个帮手counter
函数返回intervalID
像:
counter () {
const interval = setInterval(() => this.countdown(), 1000);
return interval;
}
在你的构造函数中,你可以将intervalID
分配给一些变量,如:
this.interval = counter();
然后你可以通过传递像intervalID
这样持有clearInterval(this.interval);
的变量来停止计数器
以上是关于我怎样才能重新调用这个函数?没有经验的ES6的主要内容,如果未能解决你的问题,请参考以下文章
请问这个git上开源的node项目怎样才能在windows用Npm跑起来