共用方式為


Async.FromBeginEnd<'Arg1,'Arg2,'Arg3,'T> 方法 (F#)

在 CLI API 內使用的樣式中,建立關於 Begin/End 動作組的非同步計算。

命名空間/模組路徑: Microsoft.FSharp.Control

組件:FSharp.Core (在 FSharp.Core.dll 中)

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

// Usage:
Async.FromBeginEnd (arg1, arg2, arg3, beginAction, endAction)
Async.FromBeginEnd (arg1, arg2, arg3, beginAction, endAction, cancelAction = cancelAction)

參數

  • arg1
    型別:'Arg1

    作業的第一個引數。

  • arg2
    型別:'Arg2

    作業的第二個引數。

  • arg3
    型別:'Arg3

    作業的第三個引數。

  • beginAction
    型別:'Arg1 * 'Arg2 * 'Arg3 * AsyncCallback * obj -> IAsyncResult

    會起始傳統 CLI 非同步作業的函式。

  • endAction
    型別:IAsyncResult -> 'T

    會完成傳統 CLI 非同步作業的函式。

  • cancelAction
    型別:(unit -> unit)

    取消作業的要求提出後要執行的選擇性函式。

傳回值

用於包裝指定之 Begin/End 函式的非同步計算。

備註

如果作業由三個引數限定,應該使用這個多載。 就例如下列程式碼會建立 Web 服務呼叫的非同步的計算。

Async.FromBeginEnd(arg1,arg2,arg3,ws.BeginGetWeather,ws.EndGetWeather)

當計算執行時, beginFunc執行的回呼,用來表示註解的接續的 計算。 叫用回呼時,會使用 endFunc 擷取整體結果。

計算會在等待作業完成期間回應取消。 如果發生取消而且已指定 cancelAction,便會執行取消作業,而且計算作業會繼續等待作業完成。 如果未指定 cancelAction,那麼取消作業便會導致計算作業立即停止,而且後續的引動回呼過程都會遭忽略。

一個例如請參閱 的 Async.FromBeginEnd <'T> 方法 (F #)

平台

Windows 7、Windows Vista SP2、Windows XP SP3、Windows XP x64 SP2、Windows Server 2008 R2、Windows Server 2008 SP2、Windows Server 2003 SP2

版本資訊

F# 執行階段

支援版本:2.0、4.0

Silverlight

支援版本:3

請參閱

參考

Control.Async 類別 (F#)

Microsoft.FSharp.Control 命名空間 (F#)