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?

有帮助吗?

解决方案

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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top