#utility #debounce #function

rjdebounce

防抖函数实用工具

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 和包管理而编写的。不过,我会在我的个人项目中使用这个库。所以请随意使用!

无运行时依赖