#await #bool #future

future-bool

可以等待其变化的布尔值

1 个不稳定版本

0.1.1 2021 年 8 月 1 日
0.1.0 2021 年 8 月 1 日

#1838异步

Apache-2.0

7KB

future-bool

crate docs

一个可以 await 变化的布尔值。

示例用法

use future_bool::FutureBool;

#[tokio::main]
async fn main() {
    let run = FutureBool::new(false);
    let run_clone = run.clone();

    let task = tokio::spawn(async move {
        loop {
            // If run changes to false before `some_async_fn` is terminated, 
            // it will be interrupted.
            tokio::select! {
                _ = run_clone.wait_false() => break,
                _ = some_async_fn() => {}
            };
        }
    });

    // ... some other task sets run to false with 
    // `run.unset()`
    task.await;
}

依赖项

~2.3–4MB
~64K SLoC