获取 setInterval javaScript 中使用的计数器的当前值

问题描述

假设我定义了以下函数

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