Pārlūkot izejas kodu

Do not delay if the last retry fails.

Jing Yang 5 gadi atpakaļ
vecāks
revīzija
b838091bd6
1 mainītis faili ar 3 papildinājumiem un 1 dzēšanām
  1. 3 1
      src/utils.rs

+ 3 - 1
src/utils.rs

@@ -10,10 +10,12 @@ where
     Func: FnMut(usize) -> Fut,
 {
     for i in 0..max_retry {
+        if i != 0 {
+            tokio::time::delay_for(Duration::from_millis((1 << i) * 10)).await;
+        }
         if let Ok(reply) = task_gen(i).await {
             return Ok(reply);
         }
-        tokio::time::delay_for(Duration::from_millis((1 << i) * 10)).await;
     }
     Err(std::io::Error::new(
         std::io::ErrorKind::TimedOut,