#future #async #select #all

async-select-all

针对列表中的 futures 进行选择的 futures 库适配器

1 个不稳定版本

0.1.0 2020 年 11 月 30 日

#965异步

Apache-2.0

8KB
76

async-select-all

Apache-2.0 licensed Minimum rustc version Crate API

针对列表中的 futures 进行选择的 futures 库适配器。

用法

use async_select_all::SelectAll;
use futures::executor::block_on;

async fn inc(i: i32) -> i32 {
    i + 1
}

fn main() {
    let futures = vec![inc(10), inc(5)];
    let mut select_all = SelectAll::from(futures);
    let vec = block_on(async {
        let mut vec = Vec::with_capacity(select_all.len());
        while !select_all.is_empty() {
            let val = select_all.select().await;
            vec.push(val)
        }
        vec.sort();
        vec
    });
    assert_eq!(vec, vec![6, 11]);
}

Rust 版本要求

async-select-all 需要 rust 1.37 或更高版本。

许可证

本项目采用 Apache-2.0 许可证 (LICENSEhttp://www.apache.org/licenses/LICENSE-2.0)。

贡献

除非您明确表示,否则您有意提交给 async-select-all 的任何贡献都应按 Apache-2.0 许可证许可,不附加任何额外条款或条件。

依赖项

~46KB