有类似Future.wait之类的流吗? (颤抖)

问题描述 投票:0回答:3

我有多个流正在等待完成。我想知道是否有类似 Future.wait 的方法用于流?因为我查了很多却什么也没找到。

flutter dart stream
3个回答
4
投票

是的。实际上,您可以使用

Future.wait()
本身。只需等待流订阅变成期货即可:

StreamSubscription sub1 = stream1.listen(...);
StreamSubscription sub2 = stream2.listen(...);
await Future.wait([sub1.asFuture(), sub2.asFuture()]);

0
投票

您正在等待流完成,但如果您只对流的第一个元素感兴趣,您也可以使用

first
:

await Future.wait([stream1.first, stream2.first]);

0
投票

如果您正在等待所有流完成,则:

await Future.wait([stream1.last, stream2.last]);
© www.soinside.com 2019 - 2024. All rights reserved.