submodule对gitea不管用,所以直接拉了一份拉格兰

This commit is contained in:
2025-02-04 16:29:43 +08:00
parent b0bfc803e3
commit d149a2ea0f
1023 changed files with 43308 additions and 18 deletions

View File

@@ -0,0 +1,29 @@
using System.Diagnostics.CodeAnalysis;
namespace Lagrange.OneBot.Utility.Fallbacks;
public class FallbackAsync
{
private readonly List<Func<CancellationToken, Task<bool>>> _executors = [];
internal static FallbackAsync Create()
{
return new();
}
public FallbackAsync Add(Func<CancellationToken, Task<bool>> executor)
{
_executors.Add(executor);
return this;
}
public async Task<bool> ExecuteAsync(CancellationToken token = default)
{
foreach (var executor in _executors)
{
if (await executor(token)) return true;
}
return false;
}
}