gpt4 book ai didi

dart - 在 Dart 中将单个订阅流拆分为 2 个流

转载 作者:行者123 更新时间:2023-12-03 03:41:45 26 4
gpt4 key购买 nike

我有一个消息流:一些是请求,另一些是响应。我想从我的源创建 2 个流。

_responseStream = _sourceStream.transform(decoder).where((message) => message.isResponse());
_requestStream = _sourceStream.transform(decoder).where((message) => message.isRequest());

这个解决方案是否经过优化? (在性能或其他方面)。

提前致谢。

最佳答案

https://pub.dartlang.org/packages/async包含允许这样做的 StreamSplitter

final multiStream = StreamSplitter(_sourcStream.transform(decoder));
_responseStream = _multiStream.split().where((message) => message.isResponse());
_requestStream = _multiStream.split().where((message) => message.isRequest());
multiStream.close();

 final streams = StreamSplitter.splitFrom(_sourcStream.transform(decoder), 2); // 2 is the default and can be omitted

关于dart - 在 Dart 中将单个订阅流拆分为 2 个流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54582404/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com