【发布时间】:2023-03-14 03:31:01
【问题描述】:
类似于this Flutter question 我想嵌套 Streams。
在 Flutter 中,这可以通过嵌套 StreamBuilders 轻松实现,但是,我不想使用小部件。相反,我想单独解决 Dart 中的问题。 (这里的嵌套意味着一个流依赖于另一个流的值,这些值应该结合起来)
让我来说明问题:
Stream streamB(String a);
streamA: 'Hi' --- 'Hello' ---- 'Hey'
如您所见,我有一个streamA 持续发出事件,还有一个streamB 来自streamA 发出的事件。在streamC 中,我想了解streamB 的每个事件。
常规流映射
如果我有valueB 而不是streamB,我可以简单地使用streamA.map((event) => valueB(event)),但是,Stream.map 只能处理同步值。
还有Stream.asyncMap,不过,它只适用于Futures。
然后,还有Stream.expand,但它仅适用于同步迭代。
【问题讨论】:
标签: flutter dart dart-async