在使用socket时候能否将多次异步调用LoadAsync 改为一次异步调用?

ethcham 2014-01-13 02:39:42
我有一个socket过程,需要多次调用LoadAsync过程,类似这样
await 从A服务器读一些数据,
await 然后根据上面结果从B或者C服务器读一些数据。
这样需要写很多await,感觉效率并不高

能不能将这些方法合并成一个异步过程X,在X内部是同步的:
{从A服务器读数据,
卡住。。直到读取完成。
再从B或C服务器读取数据
}

然后再UI上面异步调用这个X?

我试验了几次,如果X内部不含任何await语句,那么他会:
从A服务器读取数据,不管是否读取完毕
直接尝试从BC服务器读取,但是此时还不知道是用B还是用C呢
因此报错

那应该如何写呢?
...全文
622 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
gnimgnot 2014-01-16
  • 打赏
  • 举报
回复
你用await的时候不就是你想要的样子吗? 效率不高是怎么得出的结论?
vbfool 2014-01-16
  • 打赏
  • 举报
回复
不用await?那就是用Task本身的回调模式了呗,其实效率和await差不了多少,也许会让你有一种在写node.js的错觉?

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧