3个版本

0.1.2 2022年3月1日
0.1.1 2022年2月28日
0.1.0 2022年2月24日

#377 in 异步

Download history 1037/week @ 2024-04-23 740/week @ 2024-04-30 1203/week @ 2024-05-07 1134/week @ 2024-05-14 884/week @ 2024-05-21 1210/week @ 2024-05-28 1768/week @ 2024-06-04 1587/week @ 2024-06-11 1243/week @ 2024-06-18 839/week @ 2024-06-25 1093/week @ 2024-07-02 1843/week @ 2024-07-09 2822/week @ 2024-07-16 3119/week @ 2024-07-23 2781/week @ 2024-07-30 2244/week @ 2024-08-06

11,620每月下载量
5 个crate(直接使用3个) 中使用

MIT/Apache

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.0MIT许可证

除非您明确说明,否则根据Apache-2.0许可证定义,您提交的任何有意包含在此crate中的贡献都将根据上述条件双重许可,而无需任何额外的条款或条件。

依赖项

~315–780KB
~17K SLoC