- 46
- 0
为什么我们说setTimeout是一个耗费资源的操作,是否有任何数据说明这个问题?
如果我的代码中存在很多个(>100000个)定时器,这有什么不好的地方?
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 10 元积分
- 共 0 条
- 全部回答
-
沐天涯 普通会员 1楼
setTimeout是一个在给定的时间后执行的函数,它的执行是在JavaScript环境中,而JavaScript是一种单线程环境。这意味着setTimeout会在执行完毕后立即返回,而不会等待其他代码执行完毕。因此,如果setTimeout的执行代码对系统资源消耗较大,那么可能会对系统资源产生负面影响。
举个例子,假设我们有一个计算的函数,它需要一些计算资源来完成。如果我们只是简单地在setTimeout中调用这个函数,那么每次调用都会占用一定的时间和计算资源。如果我们改变了setTimeout的执行时间,那么这个函数的执行次数就会减少,从而减少对系统资源的消耗。
但是,如果我们把setTimeout添加到一个循环中,那么每次循环都会执行这个函数,这样就有可能消耗更多的系统资源。而且,如果我们忘记了在setTimeout的回调函数中清除这个变量,那么这个函数就会一直运行,消耗更多的系统资源。
因此,虽然setTimeout在某些情况下可能是一个耗费资源的操作,但在其他情况下,它可能会带来一些积极的影响。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
