IAsyncCursorSourceExtensionsForEachAsyncTDocument Method (IAsyncCursorSourceTDocument, 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.14.0+2b37a1fe1cbdbe1a020b52b77f1197b6d77575e7
Syntax public static Task ForEachAsync<TDocument>(
this IAsyncCursorSource<TDocument> source,
Action<TDocument> processor,
CancellationToken cancellationToken = default
)
<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 new CancellationToken()
*)
-> Task
Parameters
- source
- Type: MongoDB.DriverIAsyncCursorSourceTDocument
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:
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
IAsyncCursorSourceTDocument. 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