【发布时间】:2017-08-24 09:47:51
【问题描述】:
目前我在 Observable.Create() 中使用 await。 ExecuteRequestAsync 是调用HttpClient.GetAsync Method (String) 的包装类
public IObservable<IList<ExampleResponseModel>> ListExamplesRx()
{
return Observable.Create<IList<ExampleResponseModel>>(
o =>
{
try
{
var url = string.Format(Routes.Examples.List);
IList<ExampleResponseModel> exampleResponse = await ExecuteRequestAsync<IList<ExampleResponseModel>>(url, HttpMethod.Get);
o.OnNext(exampleResponse);
o.OnCompleted();
}
catch (Exception e)
{
o.OnError(e);
}
return Disposable.Empty;
}
);
}
这是最佳做法吗?有没有更合适的rx方案?
【问题讨论】:
-
一般来说,只要你在
.Create中有return Disposable.Empty;,那么你就做错了。 -
删除
Disposable.Empty会更正问题吗?类似上述情况应该返回什么:Observable.Create?
标签: c# system.reactive