Expand description
Working with timers on the Web: setTimeout
and setInterval
.
These APIs come in two flavors:
- a callback style (that more directly mimics the JavaScript APIs), and
- a
Future
s andStream
s 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 Future
s
With the futures
feature enabled, a future
module containing futures-based
timers is exposed.
use gloo_timers::future::TimeoutFuture;
use wasm_bindgen_futures::spawn_local;
// Spawn the `timeout` future on the local thread. If we just dropped it, then
// the timeout would be cancelled with `clearTimeout`.
spawn_local(async {
TimeoutFuture::new(1_000).await;
// Do something here after the one second timeout is up!
});
§Intervals
Intervals fire repeatedly every n milliseconds.
§Intervals with a Callback Function
TODO
§Intervals as Stream
s
TODO