2012-07-07 97 views
0

假设我有5个不同的JavaScript计时器,当我点击“开始”时开始滴答滴答,每个都在变量timer1,timer2,timer3,timer4,timer5中被引用。如何在javascript中同时对多个对象执行多个函数?

如果这些定时器是每一个数组,我会做这样的事情在伪代码:

foreach timer in timerarray { 
    timer.stop; 
    timer.setstoptime(time that it stopped); 
} 

这里的问题是,如果我要得到“getstoptime”,由于其迭代通过每个定时器的数组,所有定时器在它们停止的时间将具有不同的值。有没有办法跟踪所有的计时器,并且使得当我点击停止时,如果我能够检索他们的停止时间,所有这些都是相同的?

我知道这不太可能发生在JavaScript迭代非常快的数组中,但是因为数组必须迭代,所以在每个计时器停止之前有一个小的时间间隔。

我正在寻找一种方法,以确保所有得到“停止”同时执行。如果有人可以提供某种样本代码,并且一些建议如何确保这种情况会很好。

回答

0

无论你是否使用JS,都没有任何方法来做你所要求的。如果你能够使用线程,你仍然无法保证所有的定时器会在同一时刻停止。

如果您希望它们都具有相同的停止时间,为什么在循环启动之前不要获取该值,然后在所有计时器中明确设置该值。

+0

我不知道用户什么时候会停下来,所以我无法知道循环前的值。如果你可以提供例子,如果它不是你的意思,如果我没有正确地读你,那会很好。我只是希望能够以最好的方式来解决这个问题,即使我不能保证确切的时刻,但希望尽可能接近。 – Rolando 2012-07-07 04:49:38

+0

定时器各自是由用户操作独立停止,还是在用户停止时同时停止。 – jjathman 2012-07-07 04:54:23

+0

当用户停止时,他们都应该停止“同时”。 – Rolando 2012-07-07 17:48:49

相关问题