将异步调用转换为同步调用是否有任何好的做法(模式)?
我有一个第三方库,它的方法都是异步的,要获得几乎任何方法的结果,你必须监听一个事件,这将带来一些上下文。基本上它看起来像:
service.BeginSomething(...);
service.OnBeginSomethingCompleted += ;
我需要的是在 BeginSomething 真正完成后执行一些代码(因此在触发 OnBeginSomethingCompleted 之后)。在事件中处理响应非常不方便。
我能想到的唯一方法是运行 Thread.Sleep 循环并等待表单上的某些字段更新,但它看起来不是非常优雅的解决方案。
我正在使用.net 4.0。