我有一个简单的延迟一个小时的任务(C#):
Task myTask = Task.Delay(TimeSpan.FromMinutes(60));
await myTask;
是否可以从任务中检索还有多少时间可以完成?问题是我不知道它是什么时候开始的。我眼前只有一个正在运行的 Task.Delay,它是从过去开始的。
例如:如果45分钟过去了,我想得到答案:15分钟。
最佳答案
没有。它所公开的只是一个 Task
,而 Task
不会告诉您它在等待什么。它只是告诉您何时完成。
在后台,Task.Delay
uses a Timer
, 但即使是 Timer
类(class)不会告诉您还剩多少时间。
您可以创建自己的 Timer
类(您甚至可以从 Timer
继承)来显示剩余时间。
关于c# - 调用 Task.Delay() 并在几分钟后询问还剩多少时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59550855/