问题描述
假设我定义了以下函数
export const startMoving = () => {
let counter = 0;
var intervalId = setInterval(() => {
// Do something…
counter++;
},1000);
return intervalId;
};
虽然'counter'在函数中是用let定义的,它可以工作,但我的问题是:我如何在一段时间后获得'counter'的值?
拉斐尔
解决方法
不仅返回区间ID,还返回一个返回counter
当前值的函数。
const startMoving = () => {
let counter = 0;
var intervalId = setInterval(() => {
// Do something…
counter++;
},1000);
return [intervalId,() => counter];
};
const [intervalId,getCounter] = startMoving();
document.body.addEventListener('click',() => document.body.textContent = getCounter());
click here