我正在尝试熟悉Bloc模式,并为自己打造一个bittrex应用程序,以检查我的硬币会发生什么情况。
我正在尝试呈现所有拥有的硬币的列表。喜欢;
问题是我必须提出两个请求才能获取所有信息。第一次请求获得我的硬币余额(所有拥有的硬币),第二次请求获得股票行情(最近24小时的最低价格)。
我的Bloc的流<List<BalanceModel>>
填充在Bloc构造中。
我的目标是加载我所有硬币的列表,并显示将显示股票报价的圆形加载栏。为此,我添加了两个额外的流
1- PublishSubject <MarketSummary>
2- PublishSubject<String>
:它采用像'BCH'这样的硬币索引,并且处理程序函数发出报价请求,并将结果(MarketSummary)推入第一个接收器,该接收器实际上将在视图上呈现。 / p>
但是不幸的是(实际上是流的行为方式),流推送了所有摘要(一个又一个),最后所有硬币都具有相同的代码信息。
解决问题的最佳方法是什么?我的想法;
我正在考虑一个WrapperModel,它同时具有两个模型作为变量,但是有点丑陋。
使用pub-sub(在流触发新的marketSummary时,在视图层上具有附加控件)
我拿到硬币后的一个foreach循环,以对每个硬币发出自动报价请求。它需要一个包装模型(可容纳硬币和股票代码),我必须等待很长时间才能在视图上显示任何内容。