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