pub async fn collect<T, C, S>(
    task: T,
    condition: C,
    start_value: S,
) -> Result<Vec<T::Item>, T::Error>
where
    T: TaskWithParameter<S>,
    C: SuccessCondition<T::Item, S>,
{
    RetryPolicy::default()
        .collect(task, condition, start_value)
        .await
}
/// Reruns and collects the results of a successful `Future` under a certain provided condition
/// with a default `RetryPolicy`
///
/// ```
/// again::collect(
///     |i: u32| async move { Ok::<u32, ()>(i + 1) },
///     |r: &u32| if *r != 32 { Some(*r) } else { None },
///     1 as u32,
/// );
/// ```
Reruns and collects the results of a successful `Future` under a certain provided condition
with a default `RetryPolicy`


Reruns and collects the results of a successful ` Future ` under a certain provided condition with a default ` RetryPolicy `
pub async fn collect<T, C, S>(
    task: T,
    condition: C,
    start_value: S,
) -> Result<Vec<T::Item>, T::Error>
where
    T: TaskWithParameter<S>,
    C: SuccessCondition<T::Item, S>,
{
    RetryPolicy::default()
        .collect(task, condition, start_value)
        .await
}
pub async fn collect < T , C , S > ( task : T , condition : C , start_value : S , ) -> Result < Vec < T :: Item > , T :: Error > where T : TaskWithParameter < S > , C : SuccessCondition < T :: Item , S > , { RetryPolicy :: default ( ) . collect ( task , condition , start_value ) . await }
Reruns and collects the results of a successful `Future` under a certain provided condition
with a default `RetryPolicy`
Reruns and collects the results of a successful ` Future ` under a certain provided condition with a default ` RetryPolicy `
task
T
condition
C
start_value
S
task
T
condition
C
start_value
S