IAsyncCursorExtensions.ForEachAsync(TDocument) Method (IAsyncCursor(TDocument), Action(TDocument), CancellationToken) (original) (raw)

IAsyncCursorExtensionsForEachAsyncTDocument Method (IAsyncCursorTDocument, ActionTDocument, CancellationToken)

Calls a delegate for each document returned by the cursor.

Namespace: MongoDB.Driver
Assembly: MongoDB.Driver.Core (in MongoDB.Driver.Core.dll) Version: 2.10.0+569905ff5e778c38ea19d9d0392496a83e1704ed

Syntax

public static Task ForEachAsync( this IAsyncCursor source, Action processor, CancellationToken cancellationToken = null )

Public Shared Function ForEachAsync(Of TDocument) ( source As IAsyncCursor(Of TDocument), processor As Action(Of TDocument), Optional cancellationToken As CancellationToken = Nothing ) As Task

[] static member ForEachAsync : source : IAsyncCursor<'TDocument> * processor : Action<'TDocument> * ?cancellationToken : CancellationToken (* Defaults: let _cancellationToken = defaultArg cancellationToken null *) -> Task

Parameters

source

Type: MongoDB.DriverIAsyncCursorTDocument
The source.

processor

Type: SystemActionTDocument
The processor.

cancellationToken (Optional)

Type: System.ThreadingCancellationToken
The cancellation token.

Type Parameters

TDocument

The type of the document.

Return Value

Type: Task
A Task that completes when all the documents have been processed.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IAsyncCursorTDocument. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

Remarks

If your delegate is going to take a long time to execute or is going to block consider using a different overload of ForEachAsync that uses a delegate that returns a Task instead.

See Also

Reference