使用数组来跟踪多个setTimeouts

问题描述

我只是浏览了react-slick的代码,并遇到了以下代码:-

this.callbackTimers.push(
     setTimeout(() => this.setState({ animating }),10)
);

在componentwillUnmount中,像这样清除callbackTimers:-

componentwillUnmount = () => {
    if (this.callbackTimers.length) {
      this.callbackTimers.forEach(timer => clearTimeout(timer));
      this.callbackTimers = [];
    }
};

使用数组释放内存的唯一目的还是在这里错过了什么?

为什么不直接调用setTimeout:

setTimeout(() => this.setState({ animating }),10)

而不是使用数组?我确实也看到callbackTimers也被用在其他地方,但是我不知道为什么除了释放内存外还需要这个数组,这个数组还有其他用途吗?

相关行可以找到HERE

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)