Compartilhar via


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

Executa um cálculo no pool de segmentos. Retorna um Task que serão concluídas no estado correspondente depois que a computação termina (produz o resultado, lança a exceção ou obtém cancelada) se nenhum token de cancelamento for fornecido, em seguida, o token de cancelamento padrão é usado.

Caminho do namespace/módulo: Microsoft.FSharp.Control

Assembly: FSharp.Core (em 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>

    A computação para executar.

  • taskCreationOptions
    Tipo: TaskCreationOptions

    Opções de criação de tarefa opcional.

  • cancellationToken
    Tipo: CancellationToken

    Símbolo de cancelamento opcional.

Valor de retorno

A Task<TResult> objeto que representa a determinada computação.

Exemplo

O exemplo de código a seguir demonstra o 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

O Windows 7, SP2 do Windows Vista, Windows XP SP3, Windows XP Professional x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2

Informações sobre versão

O tempo de execução F#

Compatível com: 4.0

Silverlight

Sem suporte

Consulte também

Referência

Classe Control.Async (F#)

Microsoft.FSharp.Control Namespace (F#)

Histórico de alterações

Date

History

Motivo

Agosto de 2010

Exemplo de código adicionado.

Aprimoramento de informações.