Compartir a través de


Async.FromBeginEnd<'Arg1,'T> (Método de F#)

Crea un cálculo asincrónico en términos de un par de acciones Begin/End con el estilo usado en las API de CLI.

Espacio de nombres/Ruta de acceso del módulo: Microsoft.FSharp.Control

Ensamblado: FSharp.Core (en 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)

Parámetros

  • arg
    Tipo: 'Arg1

    Argumento de la operación.

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

    Función que inicia una operación asincrónica tradicional de CLI.

  • endAction
    Tipo: IAsyncResult -> 'T

    Función que completa una operación asincrónica tradicional de CLI.

  • cancelAction
    Tipo: (unit -> unit)

    Función opcional que se ejecuta cuando se solicita una cancelación.

Valor devuelto

Cálculo asincrónico que encapsula las funciones Begin/End especificadas.

Comentarios

Esta sobrecarga debe usarse si hay un argumento que califica la operación. Por ejemplo, puede crear un cálculo asincrónico para una llamada al servicio Web mediante el código siguiente.

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

Cuando se ejecuta el cálculo, se ejecuta beginFunc, con una devolución de llamada que representa la continuación del cálculo. Cuando se invoca la devolución de llamada, se captura el resultado general mediante endFunc.

El cálculo responderá a la cancelación mientras espera a que se complete la operación. Si se produce una cancelación y se ha especificado cancelAction, se ejecuta y el cálculo continúa esperando a que se complete la operación. Si no se especifica cancelAction, la cancelación hace que el cálculo se detenga inmediatamente y se omiten las siguientes invocaciones de la devolución de llamada.

Para obtener un ejemplo, vea Async.FromBeginEnd<'T> (Método de F#).

Plataformas

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

Información de versiones

Versiones de la biblioteca básica de F#

Se admite en: 2.0, 4.0, portables

Vea también

Referencia

Control.Async (Clase de F#)

Microsoft.FSharp.Control (Espacio de nombres de F#)