1

我正在尝试熟悉 Bloc 模式并为自己制作一个 bittrex 应用程序来检查我的硬币会发生什么。

我正在尝试呈现拥有硬币的列表。喜欢;

  • BCH x 1.56(最高:0.076,最低:0.069,现在:0.75):1,238 美元

问题是我必须提出两个请求才能获取所有信息。第一个请求获取我的硬币余额(所有拥有的硬币),第二个请求获取代码(过去 24 小时的最低最高价格)。

我的 Bloc 有一个 Stream<List<BalanceModel>>填充了 Bloc 构造。

我的目标是加载我所有硬币的列表,并显示将显示代码的圆形加载栏。为此,我添加了 2 个额外的流

1-PublishSubject <MarketSummary>

2- PublishSubject<String>:它采用像“BCH”这样的硬币索引,并且处理函数发出代码请求并将结果(MarketSummary)推送到第一个接收器中,该接收器将实际呈现在视图上。

但不幸的是(实际上它是流的行为方式),流推送所有摘要(一个接一个),最后所有硬币都有相同的代码信息。

解决问题的最佳方法是什么?我的想法;

  • 我正在考虑一个 WrapperModel,它有两个模型作为变量,但它有点难看。

  • 使用 pub-sub(当流触发新的 marketSummary 时,在视图层上有一个额外的控制)

  • 我拿到硬币后的 foreach 循环,为每枚硬币发出报价单请求。它需要一个包装模型(包含硬币和股票代码),我必须等待很长时间才能在视图上显示任何内容。

4

0 回答 0