#generator #async #async-await #stable #gen #features #yield

async-gen

使用稳定 Rust 的 async/await 功能实现的异步生成器

6 个版本

0.2.3 2023 年 7 月 9 日
0.2.2 2023 年 6 月 24 日
0.1.1 2023 年 6 月 21 日

#1129异步 类别

Download history 22/week @ 2024-03-13 6/week @ 2024-03-20 11/week @ 2024-03-27 16/week @ 2024-04-03 23/week @ 2024-04-10 25/week @ 2024-04-17 58/week @ 2024-04-24 158/week @ 2024-05-01 58/week @ 2024-05-08 35/week @ 2024-05-15 37/week @ 2024-05-22 76/week @ 2024-05-29 57/week @ 2024-06-05 42/week @ 2024-06-12 15/week @ 2024-06-19 13/week @ 2024-06-26

每月 138 下载

MIT 许可证

15KB
190

此库提供了一个使用稳定 Rust 中的 async/await 功能创建异步生成器的方法。

安装

将以下行添加到您的 Cargo.toml 文件中,将其作为依赖项添加到您的 Rust 项目中

[dependencies]
async-gen = "0.2"

示例

use std::pin::pin;
use async_gen::{gen, GeneratorState};

#[tokio::main]
async fn main() {
    let g = gen! {
        yield 42;
        return "42"
    };
    let mut g = pin!(g);
    assert_eq!(g.resume().await, GeneratorState::Yielded(42));
    assert_eq!(g.resume().await, GeneratorState::Complete("42"));
}

依赖项

~70KB