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

Ktor 3.0 switches to kotlinx.io library

Ktor 3.0, the latest version of the Kotlin-based framework for building asynchronous client- and server-side applications, is now available....

5 Reasons You Should Pick WordPress for Your eCommerce Site 

Of all the websites online across the entire globe, WordPress is the Content Management System (CMS) which powers a full...

Magento 2 Invoice: Overview & Setup Guide

In the growing world of ecommerce, invoices play a crucial role in maintaining financial transparency, recording transactions, and...

An Overview of Google Cloud Run

Serverless computing is a buzz word and used by many organizations to get rid of management of infrastructure and...

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