SHAREDHow to use Task.WhenEach in .NET 9

How to use Task.WhenEach in .NET 9

How to use Task.WhenEach in .NET 9


using var tokenSource = new CancellationTokenSource(10_000);
var token = tokenSource.Token;
await foreach (var data in Task.WhenEach(tasks).WithCancellation(token))
{
    if (!tokenSource.TryReset()) 
        token.ThrowIfCancellationRequested();
    Console.WriteLine(await data);
    tokenSource.CancelAfter(10_000);
}

In the preceding code example, CancellationTokenSource is used to create instances of a CancellationToken, which represents a cancellation token to be used for cancellation of a task. The ThrowIfCancellationRquested method is called to throw an OperationCanceledException if cancellation has been requested. The CancelAfter method is used to schedule a cancel operation once the specified number of milliseconds elapses.

Key takeaways

The Task.WhenEach is a new asynchronous static method introduced in .NET 9 that addresses the limitations of the Task.WhenAll and Task.WhenAny methods. By enabling the immediate processing of completed tasks, it enhances the performance and scalability of your applications considerably.

Note that you can use ThrowIfCancellationRequested from within a task only. In this case, you will not have to handle any exception explicitly. Instead, when this method is called on a token instance, the execution leaves the currently running task and the Task.IsCancelled property is set to True.

Latest news

Dell Technologies aligns with enterprise directions

This week, Dell Technologies held their annual Dell Technologies World conference online. There were a number of announcements as...

Top 7 WP Engine Alternatives: Find the Best Hosting Solutions for Your WordPress Needs

As WordPress has banned the WP engine, many clients are facing problems with its usage. Therefore, many users are...

Choosing the Right Solution for Your Needs

In today’s digital age, the demand for data storage solutions has skyrocketed. With options like Network Attached Storage (NAS)...

Who is Promising 100x Faster Data Insights?  

(And is Now on the Azure Marketplace) Ian Moyse – Tech Industry influencer As we enter 2024, there has never been...

InMotion Hosting Unveils Next-Generation East Coast Data Center

Over the past two weeks, InMotion Hosting deployed over 100 new dedicated servers at its new state-of-the-art data East...

Must read

Top 10 CIO Trends for 2019

As we get ready to close out 2018 and...

Are the cloud wars over or just getting started?

One of the biggest opportunities for enterprises large and...

You might also likeRELATED
Recommended to you