Domanda

When wrapping an asynchronous operation in F# with Async.StartAsTask the returned type will be of Task<unit>. This makes users of an interface depend on the F# core libraries. Is there a recommended practice to avoid this, or is it generally the accepted behaviour to leave it at it's default?

È stato utile?

Soluzione

You can simply upcast the Task<Unit> to a Task as you don't need the access to the generic result.

E.g.

let taskOfUnit = asyncOfUnit |> Async.StartAsTask
taskOfUnit :> Task
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top