此answer显示了使用以下语法分配按钮TouchUpInside
事件处理程序:
btnSave.TouchUpInside += async (sender, e) =>
{
await Createuser();
};
F#中是否有等效项? F#中似乎没有+=
重载。
我已经尝试了以下所有方法,但是类型系统总是对我大喊:结果不是unit
btnSave.TouchUpInside.Add (fun s e -> async { return () })
btnSave.TouchUpInside.Add (fun s e -> async { return () } |> Async.StartAsTask )
以下内容可编译,但对控制器上的任何操作均会引发预期的异常,因为我们不再位于主UI线程上
btnSave.TouchUpInside.Add (fun s e -> async { return () } |> Async.Start)
我希望能够使用与async/await
等效的F#运行异步函数,而不必像在C#中得到的syntac sugar那样不断地编组回主UI线程