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

Crea un cálculo asincrónico en relación con 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 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2

Información de versiones

Runtime de F#

Se admite en las versiones: 2.0, 4.0

Silverlight

Se admite en la versión: 3

Vea también

Referencia

Control.Async (Clase de F#)

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