Partager via


Async.FromBeginEnd<'Arg1,'T>, méthode (F#)

Crée un calcul asynchrone en termes de paire Begin/End d'actions dans le style utilisé dans les API CLI.

Espace de noms/Chemin du module : Microsoft.FSharp.Control

Assembly : FSharp.Core (in FSharp.Core.dll)

// Signature:
static member FromBeginEnd : 'Arg1 * ('Arg1 * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * ?(unit -> unit) -> Async<'T>

// Usage:
Async.FromBeginEnd (arg, beginAction, endAction)
Async.FromBeginEnd (arg, beginAction, endAction, cancelAction = cancelAction)

Paramètres

  • arg
    Type : 'Arg1.

    Argument de l'opération.

  • beginAction
    Type : 'Arg1 * AsyncCallback * obj -> IAsyncResult

    Fonction initiant une opération asynchrone CLI classique.

  • endAction
    Type : IAsyncResult -> 'T.

    Fonction effectuant une opération asynchrone CLI classique.

  • cancelAction
    Type : (unit -> unit)

    Fonction facultative à exécuter lors d'une demande d'annulation.

Valeur de retour

Calcul asynchrone incluant dans un wrapper les fonctions Begin/End données.

Notes

Cette surcharge doit être utilisée si l'opération est qualifiée par un argument. Par exemple, vous pouvez créer un calcul asynchrone pour un appel de service Web avec le code suivant.

Async.FromBeginEnd(place,ws.BeginGetWeather,ws.EndGetWeather)

Lorsque le calcul est exécuté, beginFunc est exécuté, avec un rappel qui représente la continuation du calcul. Lorsque le rappel est appelé, le résultat global est extrait en utilisant endFunc.

Le calcul répondra à l'annulation lors de l'attente de la fin de l'opération. En cas d'annulation et si cancelAction est spécifié, il est exécuté et le calcul continue d'attendre la fin de l'opération. Si cancelAction n'est pas spécifié, l'annulation provoque l'arrêt immédiat du calcul et les appels suivants du rappel sont ignorés.

Pour obtenir un exemple, consultez Async.FromBeginEnd<'T> Method (F#).

Plateformes

Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2

Informations de version

Versions de bibliothèque principale F#

Prise en charge dans : 2,0, 4,0, portables

Voir aussi

Référence

Control.Async, classe (F#)

Microsoft.FSharp.Control, espace de noms (F#)