using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Mir2Assistant.Common.Utils;
namespace Mir2Assistant.Common.Functions
{
public static class TaskWrapper
{
///
/// 等待任务完成
///
/// 确认是否完成
/// 超时*100毫秒
/// 是否成功
public static async Task Wait(Func ack, int timeout = 10)
{
var success = true;
await Task.Run(() =>
{
int i = 0;
while (!ack())
{
Task.Delay(100).Wait();
i++;
if (i > timeout)
{
success = false;
return;
}
}
});
return success;
}
}
}