假设我点击“开始”时有5个不同的javascript计时器开始计时,每个计时器都在变量timer1,timer2,timer3,timer4,timer5中引用。
如果这些定时器都在一个数组中,我将不得不在伪代码中做这样的事情:
foreach timer in timerarray {
timer.stop;
timer.setstoptime(time that it stopped);
}
这里的问题是,如果我要获得“getstoptime”,由于必须为每个计时器迭代数组,所有计时器在它们停止的时间内将具有不同的值。有没有办法跟踪所有的计时器,并且当我点击停止时,如果我能够检索他们的停止时间,那么所有这些都是相同的?
我知道这种情况不太可能发生在javascript迭代数组非常快,但因为数组必须迭代,所以在每个计时器停止之前有一个小的时间间隔。
我正在寻找一种确保所有人同时“停止”执行的方法。如果有人可以提供某种示例代码和一些建议如何确保这种情况发生会很棒。
答案 0 :(得分:0)
无论您是否使用JS,都没有任何方法可以满足您的要求。如果你能够使用线程,你仍然无法保证你的所有计时器都会在同一时刻停止。
如果你希望它们都具有相同的停止时间,为什么不在循环开始之前获得该值一次,然后在所有定时器中显式设置该值。