Compartir a través de


Async.StartAsTask<'T> (Método de F#)

Ejecuta un cálculo en el grupo de subprocesos. Devuelve un objeto Task que se completará una vez en el estado correspondiente cuando finaliza el cálculo (genera el resultado, produce la excepción o se cancela). Si no se proporciona ningún token de cancelación, se utiliza el token de cancelación predeterminado.

Espacio de nombres/Ruta de acceso del módulo: Microsoft.FSharp.Control

Ensamblado: FSharp.Core (en FSharp.Core.dll)

// Signature:
static member StartAsTask : Async<'T> * ?TaskCreationOptions * ?CancellationToken -> Task<'T>

// Usage:
Async.StartAsTask (computation)
Async.StartAsTask (computation, taskCreationOptions = taskCreationOptions, cancellationToken = cancellationToken)

Parámetros

  • computation
    Tipo: Async<'T>

    Cálculo que se va a ejecutar.

  • taskCreationOptions
    Tipo: TaskCreationOptions

    Opciones alternativas de creación de tareas.

  • cancellationToken
    Tipo: CancellationToken

    Token de cancelación opcional.

Valor devuelto

Objeto Task que representa el cálculo especificado.

Ejemplo

En el ejemplo de código siguiente, se muestra el uso de Async.StartAsTask.

open System.Windows.Forms

let bufferData = Array.zeroCreate<byte> 100000000

let async1 =
     async {
       use outputFile = System.IO.File.Create("longoutput.dat")
       do! outputFile.AsyncWrite(bufferData) 
     }


let form = new Form(Text = "Test Form")
let button = new Button(Text = "Start")
form.Controls.Add(button)
button.Click.Add(fun args -> let task = Async.StartAsTask(async1)
                             printfn "Do some other work..."
                             task.Wait()
                             printfn "done")
Application.Run(form)

Plataformas

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

Información de versiones

Versiones de la biblioteca básica de F#

Se admite en: 4.0, portable

Vea también

Referencia

Control.Async (Clase de F#)

Microsoft.FSharp.Control (Espacio de nombres de F#)