对此可能有一个非常简单的答案,但我的大脑无法正常工作。
我有一个方法需要在一个不支持 Observable 的框架中调用,它具有以下模式。
client.GetAsync<TResult>(
string resource,
Action<Exception> onError,
Action<TResult> onCompleted);
我需要将其转换为等待结果的同步操作。我认为 Rx 会帮助我,所以我尝试了
var observable = Observable.Create<XElement>(
observer => () => client.GetAsync<XElement>(
"resource1",
observer.OnError,
observer.OnNext);
var result = observable.First();
但是这里只是死锁,我试着让它 ObserveOn 新线程和 SubscribeOn 新线程。但它仍然陷入僵局,我是否走在正确的轨道上?