Async.StartAsTask<'T> Method (F#)
Visual Studio 2012
Executes a computation in the thread pool. Returns a Task that will be completed in the corresponding state once the computation terminates (produces the result, throws exception or gets canceled) If no cancellation token is provided then the default cancellation token is used.
Namespace/Module Path: Microsoft.FSharp.Control
Assembly: FSharp.Core (in FSharp.Core.dll)
// Signature: static member StartAsTask : Async<'T> * ?TaskCreationOptions * ?CancellationToken -> Task<'T> // Usage: Async.StartAsTask (computation) Async.StartAsTask (computation, taskCreationOptions = taskCreationOptions, cancellationToken = cancellationToken)
A Task<TResult> object that represents the given computation.
The following code example demonstrates the use of 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)