Skip to main content

eventually

Function eventually 

Source
pub fn eventually<T>(check: impl FnMut() -> Option<T>) -> T
Expand description

Retries check every 100 ms for up to 30 seconds until it returns Some, for effects that happen later: a queued job, a cron, a broadcast.

§Panics

When check still returns None after 30 seconds.

§Examples

let mut tries = 0;
let value = ocre::testing::eventually(|| {
    tries += 1;
    (tries == 3).then_some("done")
});
assert_eq!(value, "done");