【发布时间】:2016-06-30 17:13:42
【问题描述】:
我正在使用一个用 C# 编写并使用 async/await 模式的库。在 C# 中,我可以通过使用 ConfigureAwait(false) 调用它来等待某些东西,但是当我使用 F# 中的库时,我看不到做同样事情的方法吗?
目前我使用SomeMethodAsync() |> Async.AwaitTask 将其转换为Async F# 工作流,但是在调用SomeMethodAsync 时,我如何才能从F# 中执行与ConfigureAwait(false) 相同的操作?
编辑:
借助 F# Slack 频道的一些出色帮助和一些额外的谷歌搜索,我在这里找到了关于如何切换上下文的一个很好的解释:http://tomasp.net/blog/async-non-blocking-gui.aspx/
【问题讨论】:
-
为什么您不想继续捕获的上下文?更大的问题是什么?
-
据我所知,这是库代码的好习惯。这解释得很好:stackoverflow.com/questions/14526377/…
-
SomeMethodAsync().ConfigureAwait(false) |> Async.AwaitTask不适合你吗? -
其实我找到了解决办法。有人指点我:tomasp.net/blog/async-non-blocking-gui.aspx
-
您可以将该解决方案发布为答案并接受它:)
标签: c# asynchronous f# async-await async-workflow