飞镖定时器定期文档令人困惑

时间:2015-05-25 09:15:12

标签: dart

我有一个长时间运行的任务,我想在运行结束后安排一个固定间隔的新运行,我发现了这一点。以下是什么意思?特别是最后一段。

  

Timer.periodic(持续时间,函数void回调(定时器计时器))

     

创建一个新的重复计时器。

     

以持续时间间隔重复调用回调,直到   取消了取消功能。

     

确切的时间取决于基础计时器实现。没有   超过n次回调将持续* n时间,但时间   两个连续回调之间可以更短,更长   持续时间。

     

特别是,实现可以安排下一个回调,例如,   上一次回​​调结束后的持续时间   上一个回调已开始,或者上一次回调已安排   for - 即使实际的回调被延迟了。

2 个答案:

答案 0 :(得分:1)

假设您设置了一个每30秒运行一次的计时器。如果第二次调用回调,则需要10秒才能完成,第三次调用回调可能是:

  • 第二次通话开始后30秒
  • 第二次通话结束后30秒(第二次通话开始后40秒,因为需要10秒)
  • 第二次通话计划运行30秒后(基于上述情况,可能已经延迟,例如第一次通话的持续时间)

答案 1 :(得分:0)

定时器的持续时间是延迟。 Timer.periodic 的持续时间是 period。