是否想知道是否有一种方法可以让Task.Delay()在一定的时间间隔(例如分钟)之前开始等待,然后再开始等待时间间隔?我在想类似于Timer的东西,您可以在它真正开始之前指定“ dueTime”。像Task.Delay(5,10,cancelledToken)这样的东西,它将每10分钟延迟一次,但在5分钟后开始计数。
答案 0 :(得分:1)
Task.Delay
开头不是周期性的。一项任务,一次唤醒。
您是否在循环调用它?进入循环之前,请先调用一次,并设置备用延迟。
例如改变
while (true) {
await Task.Delay(N);
DoStuff();
}
到
await Task.Delay(X);
while (true) {
DoStuff();
await Task.Delay(Y);
}