Udostępnij za pośrednictwem


Async.FromBeginEnd<'Arg1,'T> — Metoda (F#)

Tworzy styl używany w API CLI asynchronicznego obliczeń, jako parę rozpoczęcia/zakończenia działania.

Ścieżka obszaru nazw/modułu: Microsoft.FSharp.Control

Zestaw: FSharp.Core (w 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)

Parametry

  • arg
    Typ:'Arg1

    Argument dla operacji.

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

    Funkcja inicjowanie tradycyjnych operacji asynchronicznej CLI.

  • endAction
    Typ:IAsyncResult -> 'T

    Funkcja Kończenie tradycyjnych operacji asynchronicznej CLI.

  • cancelAction
    Type: (unit -> unit)

    Opcjonalna funkcja wykonywane, gdy żąda anulowania rezerwacji.

Wartość zwracana

Asynchroniczne obliczeń zawijania danej funkcji rozpoczęcia/zakończenia.

Uwagi

Jeśli operacja kwalifikuje się przez jeden argument, należy użyć tego przeciążenia.Na przykład można utworzyć obliczeń asynchroniczne wywołanie usługi sieci web za pomocą następującego kodu.

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

Po uruchomieniu obliczeń beginFunc jest wykonywana z wywołania zwrotnego, co stanowi kontynuację obliczeń.Gdy wywoływany jest wywołanie zwrotne, ogólny wynik będzie pobrana za pomocą endFunc.

Przy obliczaniu odpowie na anulowanie podczas oczekiwania na zakończenie operacji.Jeśli wystąpi o anulowaniu, i cancelAction jest określony, a następnie jest wykonywane i obliczeń nadal czekać na zakończenie operacji.Jeśli cancelAction nie jest określony, anulowanie powoduje natychmiastowe zatrzymanie obliczeń, a kolejne wywołania zwrotnego są ignorowane.

Na przykład, zobacz Async.FromBeginEnd <'T> Metoda (F#).

Platformy

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

Informacje o wersji

F# Core wersji biblioteki

Obsługiwane: 2.0, 4.0, przenośne

Zobacz też

Informacje

Control.Async — Klasa (F#)

Microsoft.FSharp.Control — Przestrzeń nazw (F#)