[问题] 如何以async做到同步的效果?

楼主: thanksgive (干温)   2012-03-20 21:43:46
网络上找了好久还是找不到这个解法 :(
所以想请问大家~
以下目的是想透过contracts来到远端要资料
我想做到,
_client.getSysParamsCompleted这个事件发生并且
_client_getSysParamsCompleted执行完之后之后,
myFunction这个程式才会return,请问该怎么做呢?
void myFunction()
{
(...程式码...)
_client.getSysParamsCompleted += new
EventHandler<getSysParamsCompletedEventArgs>(_client_getSysParamsCompleted);
_client.getSysParamsAsync();
(...程式码...)
}
作者: VAIOGT (ㄟ( ̄▽ ̄ㄟ))   2012-03-22 15:33:00
写在Completed里面?
楼主: thanksgive (干温)   2012-03-22 16:54:00
因为myFunction目的是从远端抓最新的资料回来,我想在很多地方都用到myFunction,如果把每个地方要做的事情都写进去,我担心会太多且不好处理还是有类似的方法? 我的目的就只是确保抓回来的资料是新的,然后让后面的流程继续处理
作者: VAIOGT (ㄟ( ̄▽ ̄ㄟ))   2012-03-23 10:25:00
如果依照不同流程把myFunction()拆开呢?还是一定要合一?
作者: ashram (アシュラム)   2012-04-18 12:15:00
我有个案子也是要模拟同步功能该案子是sl2 现在不知道有没有别种作法我们的方式是有点取巧的 发送wcf时把画面disable或用个透明的遮罩盖住 等到completed再enable或拿掉遮罩后来另一个案子是用遮罩 比disable好用很多 可以设定区域
作者: machung   2012-04-22 16:03:00
你可以用Async CTP library来达成同步效果,但要SL4以上

Links booklink

Contact Us: admin [ a t ] ucptt.com