4个版本

0.1.3 2024年8月5日
0.1.2 2024年8月5日
0.1.1 2024年8月3日
0.1.0 2024年8月3日

#314 in 异步

Download history 184/week @ 2024-07-29 208/week @ 2024-08-05

392 每月下载次数

MIT 许可证

7KB
101 代码行

Debouncer

Rust的简单防抖器,使用Tokio进行异步计时。这个crate提供了一种机制来防抖函数调用,确保只执行指定延迟内的最后一个调用。

安装

将以下内容添加到您的 Cargo.toml

[dependencies]
debouncer = "0.1.0"
tokio = { version = "1", features = ["full"] }

用法

以下是一个基本示例,演示了如何使用Debouncer

use tokio::time::Duration;
use debouncer::Debouncer;

#[tokio::main]
async fn main() {
    let debouncer = Debouncer::new(Duration::from_secs(1));
    let counter = Arc::new(Mutex::new(0));

    let counter_clone = Arc::clone(&counter);
    debouncer.call(move || {
        async move {
            let mut num = counter_clone.lock().unwrap();
            *num += 1;
        }
    }).await;
}

贡献

欢迎贡献!请在GitHub上打开一个问题或提交一个pull request。

1.	Fork the repository
2.	Create your feature branch (git checkout -b feature/your-feature)
3.	Commit your changes (git commit -am 'Add some feature')
4.	Push to the branch (git push origin feature/your-feature)
5.	Create a new Pull Request

许可证

该项目受MIT或Apache-2.0许可证的许可。有关详细信息,请参阅LICENSE文件。

依赖项

~2.4–8.5MB
~57K SLoC