两者都没有F#异步包装器(在PowerPack中)
TcpListener.BeginAcceptTcpClient()
也EndAcceptTcpClient()
。
如何围绕这些创建自己的包装器,以便我可以使用let!
和async
关键字并同时运行它?
答案 0 :(得分:6)
您是否检查过Async.BuildPrimitive
功能?我想你可以做点什么:
type TcpListener with
member x.AsyncAcceptClient() =
Async.BuildPrimitive(x.BeginAcceptTcpClient, x.EndAcceptTcpClient)
创建一个返回适当异步结果的扩展方法。