From 1a5c31fd02755e3c4f5aff3251c6b21b32344b99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AE=8B=E5=BF=B5?= Date: Tue, 3 Jun 2025 09:57:29 +0800 Subject: [PATCH] perf(retry): remove the waiting time after the last retry (#309) --- retry/retry.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/retry/retry.go b/retry/retry.go index 820f71e..a30e6a1 100644 --- a/retry/retry.go +++ b/retry/retry.go @@ -130,14 +130,16 @@ func Retry(retryFunc RetryFunc, opts ...Option) error { var i uint for i < config.retryTimes { err := retryFunc() - if err != nil { + if err == nil { + return nil + } + + if i < config.retryTimes-1 { // Only wait if it's not the last retry select { case <-time.After(config.backoffStrategy.CalculateInterval()): case <-config.context.Done(): return errors.New("retry is cancelled") } - } else { - return nil } i++ }