Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何安排活动列表_Javascript_Reactjs_React Native_Performance - Fatal编程技术网

Javascript 如何安排活动列表

Javascript 如何安排活动列表,javascript,reactjs,react-native,performance,Javascript,Reactjs,React Native,Performance,我需要安排一天大约1000个事件的列表,其中每个事件都只需要一些文本和按钮来更新小组件 计划事件列表示例: [ {time: '00:00:00', updateString: 'foo'}, {time: '00:03:15', updateString: 'bar'}, ... {time: '23:57:49', updateString: 'baz'}, ] 在循环中使用setTimeout()函数会对性能产生负面影响吗? 我的意思是,在一天开始的时候增加1000个计时

我需要安排一天大约1000个事件的列表,其中每个事件都只需要一些文本和按钮来更新小组件

计划事件列表示例:

[
  {time: '00:00:00', updateString: 'foo'},
  {time: '00:03:15', updateString: 'bar'},
  ...
  {time: '23:57:49', updateString: 'baz'},
]
在循环中使用
setTimeout()
函数会对性能产生负面影响吗? 我的意思是,在一天开始的时候增加1000个计时器,
它不会冻结应用程序吗?

我认为1000个计时器不是什么大问题。
我开始担心10k或100k定时器的性能(这可能仍然没有问题)

无论如何,设置许多计时器对我来说似乎不是最佳选择

我认为您可以将列表保持在状态,并定期检查是否达到或超过某个时间(如
Date.now()>item.time

(还要注意,
setTimeout(f,1000)
不能保证在1000毫秒后运行。)

如果您需要(某种)毫秒精度和一个很长的列表,那么只有当事件时间接近主检查间隔时,才可以通过启动某种机制进行优化。可能存储一个较小的到期物品列表


例如,每10秒钟检查一次列表,如果某个事件在10秒钟内到期,则每毫秒仅检查一次此项目(或项目子集)。

我不认为很清楚您想要什么。。。你能举个例子吗?@Camilo,用sampleNote更新了我的问题,问题应该是客观的,所以我编辑了你的问题,删除了主观要求(“最佳方式”,“这是个好主意吗”),并用可以客观回答的内容替换(“如何”,“它会对绩效产生负面影响”)。它仍然需要一个更好的示例,代码方面。通常,您希望在React编程中避免
setTimeout
,而不是用承诺或观察值包装,或者使用记忆来更均匀地分配负载。仍然不确定您想要实现什么,抱歉。谢谢,@kca,应用程序进入后台状态并返回如何?
setTimeout
定时器是否安全?