私はF#でC#ライブラリを使用しようとしています。ライブラリはasync/awaitを大量に使用します。私はF#のasync { ... }
ワークフローの中で使用したいです。プレーンタスクでAsync.AwaitTaskを実行する方法(タスクではない<T>)?
非同期C#メソッドでAsync.AwaitTask
を返すと、Task<T>
を返すことがありますが、平文を返すものについてはどうでしょうかTask
?
おそらく、Async<unit>
にこれらを変換するか、Task<unit>
からTask
はそれがAsync.AwaitTask
で動作します変換するために、ヘルパーはありますか?無限のタイムアウトで
let awaitTask (t: Task) = t.ContinueWith (fun t ->()) |> Async.AwaitTask
またはAwaitIAsyncResult:
ああ、私は参照してください。もちろん、Taskは結局のところIAsyncResultです。 'awaitTask = Async.AwaitIAsyncResult >> Async.Ignore'に短縮しました。ありがとうございました! – AshleyF