C#Task.Delay等待启动之前的等待时间

时间:2019-05-14 21:35:46

标签: c#

是否想知道是否有一种方法可以让Task.Delay()在一定的时间间隔(例如分钟)之前开始等待,然后再开始等待时间间隔?我在想类似于Timer的东西,您可以在它真正开始之前指定“ dueTime”。像Task.Delay(5,10,cancelledToken)这样的东西,它将每10分钟延迟一次,但在5分钟后开始计数。

1 个答案:

答案 0 :(得分:1)

Task.Delay开头不是周期性的。一项任务,一次唤醒。

您是否在循环调用它?进入循环之前,请先调用一次,并设置备用延迟。

例如改变

while (true) {
   await Task.Delay(N);
   DoStuff();
}

await Task.Delay(X);
while (true) {
    DoStuff();
    await Task.Delay(Y);
}