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.fixed 和 RetryDelayStrategy.exponential 的初始值)timeout超时时间delayStrategy延迟策略,默认为 RetryDelayStrategy.fixeddelayFactor指数衰减的倍率因子(仅 RetryDelayStrategy.decay 生效),默认 0.5(每次减半)linearDelays线性递增策略使用的延迟数组(仅 RetryDelayStrategy.linear 生效) 返回满足condition的结果