知道对返回单元的服务器方法的 RPC 调用是消息传递调用,我想强制调用是异步的,并且只有在第一个服务器调用到达服务器后才能触发下一个服务器调用。
服务器代码:
[<Rpc>]
let FirstCall value =
printfn "%s" value
async.Zero()
[<Rpc>]
let SecondCall() =
"test"
客户端代码:
|>! OnClick (fun _ _ -> async {
do! Server.FirstCall "test"
do Server.SecondCall() |> ignore
} |> Async.Start)
自从返回单元后,这似乎在客户端崩溃,将服务器和客户端代码替换为:
[<Rpc>]
let FirstCall value =
printfn "%s" value
async { return () }
let! _ = Server.FirstCall "test"
没有解决问题,而以下解决了:
[<Rpc>]
let FirstCall value =
printfn "%s" value
async { return "" }
let! _ = Server.FirstCall "test"
是否有另一种方法可以强制消息传递调用异步?