MES-ETL/ConsoleApp2/Helpers/Extensions.Task.cs

19 lines
500 B
C#
Raw Normal View History

2024-01-29 09:29:16 +08:00
namespace ConsoleApp2.Helpers;
public static class TaskExtensions
{
public static async Task WaitUntil(Func<bool> condition, int pollDelay = 25, CancellationToken ct = default)
{
try
{
while (!condition())
{
await Task.Delay(pollDelay, ct);
}
}
catch(TaskCanceledException)
{
// CancellationToken激活时Task.Delay通过抛异常来结束停止等待不用管它
}
}
}