9 releases

0.3.0 Aug 11, 2023
0.2.6 Jan 21, 2023
0.2.5 Nov 29, 2022
0.2.4 Apr 13, 2022
0.1.0 Sep 13, 2019

#31 in Asynchronous

Download history 403723/week @ 2025-01-28 468435/week @ 2025-02-04 450813/week @ 2025-02-11 475133/week @ 2025-02-18 513276/week @ 2025-02-25 538199/week @ 2025-03-04 543764/week @ 2025-03-11 566231/week @ 2025-03-18 568551/week @ 2025-03-25 559107/week @ 2025-04-01 663541/week @ 2025-04-08 576565/week @ 2025-04-15 600202/week @ 2025-04-22 559140/week @ 2025-04-29 653384/week @ 2025-05-06 533204/week @ 2025-05-13

2,430,709 downloads per month
Used in 3,635 crates (87 directly)

MIT/Apache

17KB
155 lines

gloo-timers

Crates.io version Download docs.rs docs

API Docs | Contributing | Chat

Built with 🦀🕸 by The Rust and WebAssembly Working Group

Working with timers on the Web: setTimeout and setInterval.

These APIs come in two flavors:

  1. a callback style (that more directly mimics the JavaScript APIs), and
  2. a Futures and Streams API.

Timeouts

Timeouts fire once after a period of time (measured in milliseconds).

Timeouts with a Callback Function

use gloo_timers::callback::Timeout;

let timeout = Timeout::new(1_000, move || {
    // Do something after the one second timeout is up!
});

// Since we don't plan on cancelling the timeout, call `forget`.
timeout.forget();

Timeouts as Futures

With the futures feature enabled, a future module containing futures-based timers is exposed.

Dependencies

~0.8–1.6MB
~28K SLoC