utils/extension/future_extension library

Enums

RetryDelayStrategy
重试延迟策略

Extensions

PollUntilExt on Future?

Constants

defaultLinearDelays → const List<Duration>
预定义延迟数组,用于 RetryDelayStrategy.linear

Functions

recursiveCall<T>({required Future<T> fn(), required bool condition(T), int maxRetry = 3, Duration retryDelay = const Duration(seconds: 1), Duration timeout = const Duration(seconds: 10), RetryDelayStrategy delayStrategy = RetryDelayStrategy.fixed, double delayFactor = 0.5, List<Duration> linearDelays = defaultLinearDelays}) Future<T>
执行工厂函数 fn,重复创建新实例直到 condition 满足 fn 返回 Future 的工厂函数,每次重试都会重新调用 condition 满足条件,返回 true 时结束重试 maxRetry 最大重试次数 retryDelay 重试延迟(用于 RetryDelayStrategy.fixedRetryDelayStrategy.exponential 的初始值) timeout 超时时间 delayStrategy 延迟策略,默认为 RetryDelayStrategy.fixed delayFactor 指数衰减的倍率因子(仅 RetryDelayStrategy.decay 生效),默认 0.5(每次减半) linearDelays 线性递增策略使用的延迟数组(仅 RetryDelayStrategy.linear 生效) 返回满足 condition 的结果