19 lines
501 B
C#
19 lines
501 B
C#
namespace MesETL.Shared.Helper;
|
||
|
||
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通过抛异常来结束停止等待,不用管它
|
||
}
|
||
}
|
||
} |