IAsyncCursorSourceExtensions.ForEachAsync<TDocument> Method (IAsyncCursorSource<TDocument>, Action<TDocument>, 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.11.0+cb27a82ea70620ad1acad8058809be8302ae4f2a
Syntax public static Task ForEachAsync<TDocument>(
this IAsyncCursorSource<TDocument> source,
Action<TDocument> processor,
CancellationToken cancellationToken = null
)
<ExtensionAttribute>
Public Shared Function ForEachAsync(Of TDocument) (
source As IAsyncCursorSource(Of TDocument),
processor As Action(Of TDocument),
Optional cancellationToken As CancellationToken = Nothing
) As Task
[<ExtensionAttribute>]
static member ForEachAsync :
source : IAsyncCursorSource<'TDocument> *
processor : Action<'TDocument> *
?cancellationToken : CancellationToken
(* Defaults:
let _cancellationToken = defaultArg cancellationToken null
*)
-> Task
Parameters
- source
- Type: MongoDB.Driver.IAsyncCursorSource<TDocument>
The source. - processor
- Type: System.Action<TDocument>
The processor. - cancellationToken (Optional)
- Type: System.Threading.CancellationToken
The cancellation token.
Type Parameters
- TDocument
- The type of the document.
Return Value
Type:
TaskA 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
IAsyncCursorSource<TDocument>. 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