defaultShouldRetry static method
默认的重试判断逻辑
使用模式匹配判断是否应该重试:
- NetworkError, TimeoutError → 重试
- ResponseError statusCode >= 500 → 重试
- 其他 → 不重试
示例:
RetryPlugin(shouldRetry: RetryPlugin.defaultShouldRetry)
Implementation
static bool defaultShouldRetry(SmartError error) {
return switch (error) {
NetworkError() => true,
TimeoutError() => true,
ResponseError(:final statusCode) => statusCode >= 500,
CancelError() => false,
BusinessError() => false,
ParseError() => false,
CertificateError() => false,
UnknownError() => false,
};
}