IAsyncCursorSourceExtensions.ForEachAsync<TDocument> Method (IAsyncCursorSource<TDocument>, Action<TDocument, Int32>, CancellationToken) |
Calls a delegate for each document returned by the cursor.
Namespace: MongoDB.DriverAssembly: MongoDB.Driver.Core (in MongoDB.Driver.Core.dll) Version: 2.4.1
Syntaxpublic static Task ForEachAsync<TDocument>(
this IAsyncCursorSource<TDocument> source,
Action<TDocument, int> processor,
CancellationToken cancellationToken = null
)
<ExtensionAttribute>
Public Shared Function ForEachAsync(Of TDocument) (
source As IAsyncCursorSource(Of TDocument),
processor As Action(Of TDocument, Integer),
Optional cancellationToken As CancellationToken = Nothing
) As Task
[<ExtensionAttribute>]
static member ForEachAsync :
source : IAsyncCursorSource<'TDocument> *
processor : Action<'TDocument, int> *
?cancellationToken : CancellationToken
(* Defaults:
let _cancellationToken = defaultArg cancellationToken null
*)
-> Task
Parameters
- source
- Type: MongoDB.Driver.IAsyncCursorSource<TDocument>
The source. - processor
- Type: System.Action<TDocument, Int32>
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