public static async Task <Result <K, E> > Combine <T, K, E>(this IEnumerable <Task <Result <T, E> > > tasks, Func <IEnumerable <T>, K> composer) where E : ICombine { IEnumerable <Result <T, E> > results = await Task.WhenAll(tasks).ConfigureAwait(Result.DefaultConfigureAwait); return(results.Combine(composer)); }
public static async Task <Result <IEnumerable <T>, E> > Combine <T, E>(this IEnumerable <Task <Result <T, E> > > tasks) where E : ICombine { Result <T, E>[] results = await Task.WhenAll(tasks).ConfigureAwait(Result.DefaultConfigureAwait); return(results.Combine()); }
public static Task <TResult[]> WhenAll <TResult>([NotNull, ItemNotNull] this IEnumerable <Task <TResult> > tasks) => TaskEx.WhenAll(tasks);
public static Task WhenAll([NotNull, ItemNotNull] this IEnumerable <Task> tasks) => TaskEx.WhenAll(tasks);
public static async Task <Result <K> > Combine <T, K>(this IEnumerable <Task <Result <T> > > tasks, Func <IEnumerable <T>, K> composer, string errorMessageSeparator = null) { IEnumerable <Result <T> > results = await Task.WhenAll(tasks).ConfigureAwait(Result.DefaultConfigureAwait); return(results.Combine(composer, errorMessageSeparator)); }
public static async Task <Result <IEnumerable <T> > > Combine <T>(this IEnumerable <Task <Result <T> > > tasks, string errorMessageSeparator = null) { Result <T>[] results = await Task.WhenAll(tasks).ConfigureAwait(Result.DefaultConfigureAwait); return(results.Combine(errorMessageSeparator)); }
public static async Task <Result <IEnumerable <T>, E> > Combine <T, E>(this IEnumerable <Task <Result <T, E> > > tasks, Func <IEnumerable <E>, E> composerError) { Result <T, E>[] results = await Task.WhenAll(tasks).ConfigureAwait(Result.DefaultConfigureAwait); return(results.Combine(composerError)); }
public static Task <TResult[]> WhenAll <TResult>(params Task <TResult>[] tasks) { return(TaskEx.WhenAll <TResult>((IEnumerable <Task <TResult> >)tasks)); }
public static Task WhenAll(params Task[] tasks) { return(TaskEx.WhenAll((IEnumerable <Task>)tasks)); }
public static async Task <Result> Combine(this IEnumerable <Task <Result> > tasks, string errorMessageSeparator = null) { Result[] results = await Task.WhenAll(tasks).DefaultAwait(); return(results.Combine(errorMessageSeparator)); }
public static async Task <Result <K, E> > Combine <T, K, E>(this IEnumerable <Task <Result <T, E> > > tasks, Func <IEnumerable <T>, K> composer, Func <IEnumerable <E>, E> composerError) { IEnumerable <Result <T, E> > results = await Task.WhenAll(tasks).DefaultAwait(); return(results.Combine(composer, composerError)); }