Files
tytdcompanion/IEventable.cs
T
2026-03-15 22:15:34 -05:00

27 lines
566 B
C#

using System.Collections.Concurrent;
namespace Tesses.YouTubeDownloader2025Companion;
public interface IEventable {
Task EventAsync();
}
public class TaskList : IEventable {
ConcurrentQueue<Func<Task>> tasks = new ConcurrentQueue<Func<Task>>();
public void Enqueue(Func<Task> task)
{
tasks.Enqueue(task);
}
public async Task EventAsync()
{
try {
if(tasks.TryDequeue(out var res))
await res();
} catch(Exception ex)
{
Console.WriteLine(ex);
}
}
}