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

依据 CLI API 内所使用样式中的操作的 Begin/End 对创建一个异步计算。

命名空间/模块路径: Microsoft.FSharp.Control

程序集:FSharp.Core(在 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)

参数

  • arg
    类型:'Arg1

    操作的参数。

  • beginAction
    类型:'Arg1 * AsyncCallback * obj -> IAsyncResult

    启动传统 CLI 异步操作的函数。

  • endAction
    类型:IAsyncResult -> 'T

    完成传统 CLI 异步操作的函数。

  • cancelAction
    类型:(unit -> unit)

    一个要在请求取消时执行的可选函数。

返回值

一个包装给定 Begin/End 函数的异步计算。

备注

如果操作由一个参数进行限定,则应使用此重载。 例如,用如下的代码为 web 服务调用创建异步计算。

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

运行计算时将执行 beginFunc,并执行表示计算的延续的回调。 在调用回调时,将使用 endFunc 获取总体结果。

计算将在等待操作完成时响应取消。 如果进行取消并指定了 cancelAction,则会执行取消,并且计算将继续等待操作完成。 如果未指定 cancelAction,则取消将导致计算立即停止,并且将忽略回调的后续调用。

示例请参见 Async.FromBeginEnd<'T> Method (F#)

平台

Windows 8,Windows 7,Windows server 2012中,Windows server 2008 R2

版本信息

F#核心库版本

支持:2.0,4.0,可移植

请参见

参考

Control.Async 类 (F#)

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