3个版本
0.1.2 | 2022年3月1日 |
---|---|
0.1.1 | 2022年2月28日 |
0.1.0 | 2022年2月24日 |
#377 in 异步
11,620每月下载量
在 5 个crate(直接使用3个) 中使用
25KB
478 行
merge-streams
将多个流合并为一个。
基于Yoshua Wuyts的futures-concurrency
crate和相应的Futures Concurrency III博客文章。由于现在futures-concurrency
crate也支持稳定的Rust,因此没有理由再使用这个crate。
示例
合并多个流,以便在值准备好时立即处理它们,而不会丢失任何值
use merge_streams::MergeStreams;
use futures_lite::future::block_on;
use futures_lite::{stream, StreamExt};
fn main() {
block_on(async {
let a = stream::once(1);
let b = stream::once(2);
let c = stream::once(3);
let mut s = (a, b, c).merge();
let mut counter = 0;
s.for_each(|n| counter += n).await;
assert_eq!(counter, 6);
})
}
许可证
根据您的选择,许可为Apache License, Version 2.0或MIT许可证。
除非您明确说明,否则根据Apache-2.0许可证定义,您提交的任何有意包含在此crate中的贡献都将根据上述条件双重许可,而无需任何额外的条款或条件。
依赖项
~315–780KB
~17K SLoC