Iceshrimp.NET/Iceshrimp.Backend/Core/Extensions/EnumerableExtensions.cs
2024-03-01 18:23:44 +01:00

29 lines
No EOL
676 B
C#

namespace Iceshrimp.Backend.Core.Extensions;
public static class EnumerableExtensions
{
public static async Task<IEnumerable<T>> AwaitAllAsync<T>(this IEnumerable<Task<T>> tasks)
{
return await Task.WhenAll(tasks);
}
public static async Task AwaitAllAsync(this IEnumerable<Task> tasks)
{
await Task.WhenAll(tasks);
}
public static async Task<List<T>> AwaitAllNoConcurrencyAsync<T>(this IEnumerable<Task<T>> tasks)
{
var results = new List<T>();
foreach (var task in tasks)
results.Add(await task);
return results;
}
public static async Task AwaitAllNoConcurrencyAsync(this IEnumerable<Task> tasks)
{
foreach (var task in tasks) await task;
}
}