Dispatcher.InvokeAsync 在 F# 中

Dispatcher.InvokeAsync in F#

我无法理解如何将此代码转换为 f#:

var x = await Application.Current.Dispatcher.InvokeAsync(c);

// the type of c is Func<int>

如果我尝试这样做

let x = Async.AwaitTask(Application.Current.Dispatcher.InvokeAsync(c))

我有一个编译器错误:

Threading.DispatcherOperation<int> is not compatible with Task<int>

怎么做?

如我所见,DispatcherOperation 是可等待的,F# 编译器不支持直接使用它们。尝试使用 DispatcherOperation.Task 作为 Async.AwaitTask

的参数