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.5.0+57.Branch.master.Sha.6a4e00a2d91090c65a9b11364b9ebfdb9c7da076
Syntax public static Task ForEachAsync<TDocument>(
this IAsyncCursor<TDocument> source,
Action<TDocument> processor,
CancellationToken cancellationToken = null
)
<ExtensionAttribute>
Public Shared Function ForEachAsync(Of TDocument) (
source As IAsyncCursor(Of TDocument),
processor As Action(Of TDocument),
Optional cancellationToken As CancellationToken = Nothing
) As Task
[<ExtensionAttribute>]
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:
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
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