1 个不稳定版本
0.1.1 | 2021 年 8 月 1 日 |
---|---|
0.1.0 |
|
#1838 在 异步
7KB
future-bool
一个可以 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