3 个稳定版本
1.2.0 | 2020年5月30日 |
---|---|
1.1.0 | 2020年5月1日 |
1.0.0 | 2019年12月16日 |
#697 在 异步
10,165 每月下载量
在 9 个软件包中使用了 (直接使用 7)
13KB
73 代码行
async-ctrlc
是 ctrlc
软件包的异步包装。
未来示例
use async_ctrlc::CtrlC;
use async_std::{prelude::FutureExt, task::sleep};
use std::time::Duration;
#[async_std::main]
async fn main() {
let ctrlc = CtrlC::new().expect("cannot create Ctrl+C handler?");
println!("Try to press Ctrl+C");
ctrlc.race(async {
let mut i = 0;
loop {
println!("... {}", i);
sleep(Duration::from_secs(1)).await;
i += 1;
}
}).await;
println!("Quitting");
}
流示例
use async_ctrlc::CtrlC;
use async_std::prelude::StreamExt as _;
#[async_std::main]
async fn main() {
let ctrlc = CtrlC::new().expect("cannot create Ctrl+C handler?");
println!("Try to press Ctrl+C 3 times");
let mut stream = ctrlc.enumerate().take(3);
while let Some((count, _)) = stream.next().await {
println!("{} x Ctrl+C!", count + 1);
}
println!("Quitting");
}
许可证
MIT 或 Apache-2.0.
依赖项
~1.5–8.5MB
~74K SLoC