Tokio-Interval

基于 tokio 实现了类似于 jssetIntervalsetTimeout 的功能

目前提供了以下几个宏:

注意: - 由于实现的逻辑,set_interval 受传入的 fn 运行时耗的影响,ms 不是一个固定的间隔

使用方法

Cargo.toml

toml [dependencies] tokio_interval = "<latest-version>"

main.rs

```rust use tokio::time::{sleep,Duration}; use tokiointerval::{setinterval, settimeout, cleartimer};

[tokio::main]

async fn main() { settimeout!(|| println!("timeout"), 500); setinterval!(|| println!("interval"), 500); // 保存id,以便手动删除 let id = setinterval!(|| println!("clearinterval"), 500); sleep(Duration::frommillis(600)).await; // 删除定时器 clearinterval(id); // 保证定时器可以继续执行 sleep(Duration::from_millis(1200)).await; } ```