Async.FromBeginEnd<'Arg1,'Arg2,'Arg3,'T> メソッド (F#)
Begin/End のペアのアクションについて、CLI API で使用されるスタイルで非同期計算を作成します。
名前空間/モジュール パス: 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操作の第 1 引数。
arg2
型: 'Arg2操作の第 2 引数。
arg3
型: 'Arg3操作の第 3 引数。
beginAction
型: 'Arg1 * 'Arg2 * 'Arg3 * AsyncCallback * obj -> IAsyncResult従来の CLI の非同期操作を開始する関数。
endAction
型: IAsyncResult -> 'T従来の CLI の非同期操作を完了する関数。
cancelAction
型: (unit -> unit)キャンセルが要求された場合に実行されるオプションの関数。
戻り値
指定された Begin/End 関数をラップする非同期計算。
解説
操作を 3 つの引数で修飾する場合は、このオーバーロードを使用する必要があります。たとえば、次のコードでは、Web サービス呼び出しの非同期計算が作成されます。
Async.FromBeginEnd(arg1,arg2,arg3,ws.BeginGetWeather,ws.EndGetWeather)
計算が実行されると、beginFunc が実行され、計算の継続を表すコールバックが渡されます。コールバックが呼び出されると、全体的な結果は endFunc を使用してフェッチされます。
操作が完了するまで待機している間、この計算はキャンセルに応答します。キャンセルが発生し、cancelAction が指定されている場合は cancelAction が実行され、計算は、操作が完了するまで待機し続けます。cancelAction が指定されていない場合は、キャンセルによってすぐに計算が停止され、その後に呼び出されたコールバックは無視されます。
例については、Async.FromBeginEnd<'T> メソッド (F#) を参照してください。
プラットフォーム
Windows 8、Windows 7、Windows Server 2012 で Windows Server 2008 R2
バージョン情報
F# コア ライブラリのバージョン
サポート: ポータブル 2.0、4.0