4 个版本
0.2.1 | 2020 年 5 月 30 日 |
---|---|
0.2.0 | 2020 年 5 月 30 日 |
0.1.1 | 2020 年 5 月 30 日 |
0.1.0 | 2020 年 5 月 30 日 |
#11 in #debounce
7KB
86 行
rjdebounce
一个简单到极点的库,用来执行一件极简单的事情。防抖一个函数。无依赖。
示例
use rjdebounce::Bouncer;
let mut bouncer = Bouncer::new(Duration::from_secs(1));
let result = bouncer.debounce(|| {
return 5 + 5;
})
assert_eq!(result.is_some(), true);
assert_eq!(result.unwrap(), 10);
OR...
use rjdebounce::Bouncer;
let func = || 5 + 6;
let delay = Duration::from_secs(1);
let mut bouncer = Bouncer::new(delay).with_func(func);
assert_eq!(bouncer.get_result().is_some(), false);
bouncer.execute();
assert_eq!(bouncer.get_result().is_some(), true);
我计划扩展这个库吗?
是的,绝对会。我很乐意制作一个更大的库。
我应该在生产中使用这个库吗?
我的意思是...当然,如果你想的话。但这对我的练习来说只是个练习。我没有这个库的许可,我纯粹是为了熟悉 cargo 和包管理而编写的。不过,我会在我的个人项目中使用这个库。所以请随意使用!