[−][src]Function bigml::wait::wait
pub async fn wait<'_, T, E, F, R>(
options: &'_ WaitOptions,
__arg1: F
) -> Result<T, E> where
F: FnMut() -> R,
R: Future<Output = WaitStatus<T, E>>,
E: Display,
Error: Into<E>,
Call f
repeatedly, wait for it to return WaitStatus::Finished
, an error,
or a timeout. Honors WaitOptions
.
use bigml::wait::{wait, WaitOptions, WaitStatus}; use failure::Error; let value = wait::<_, failure::Error, _, _>(&WaitOptions::default(), || { async { WaitStatus::Finished("my value") } }).boxed().compat().wait().expect("an error occured while waiting"); assert_eq!(value, "my value");
If you return Ok(WaitStatus::Waiting)
instead, this function will wait
some number of seconds, and then try again.