@naturalcycles/js-lib 15.93.0 → 15.93.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,10 +22,16 @@ export interface PRetryOptions {
22
22
  */
23
23
  maxAttempts?: number;
24
24
  /**
25
+ * Delay before the first retry, in milliseconds.
26
+ * Each subsequent retry waits `delayMultiplier` times longer than the previous one.
27
+ * E.g with defaults (delay=1000, delayMultiplier=2) retries wait 1000, 2000, 4000 ms.
28
+ *
25
29
  * @default 1000 ms
26
30
  */
27
31
  delay?: number;
28
32
  /**
33
+ * Multiplier applied to the delay after each retry ("Exponential back-off").
34
+ *
29
35
  * @default 2
30
36
  */
31
37
  delayMultiplier?: number;
@@ -60,8 +60,9 @@ export async function pRetry(fn, opt = {}) {
60
60
  throw _errorDataAppend(err, opt.errorData);
61
61
  }
62
62
  // Retry after delay
63
- delay *= delayMultiplier;
64
63
  await pDelay(delay);
64
+ // Increase the delay for the next possible retry (exponential back-off)
65
+ delay *= delayMultiplier;
65
66
  // back to while(true) loop
66
67
  }
67
68
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@naturalcycles/js-lib",
3
3
  "type": "module",
4
- "version": "15.93.0",
4
+ "version": "15.93.1",
5
5
  "dependencies": {
6
6
  "tslib": "^2"
7
7
  },
@@ -31,11 +31,17 @@ export interface PRetryOptions {
31
31
  maxAttempts?: number
32
32
 
33
33
  /**
34
+ * Delay before the first retry, in milliseconds.
35
+ * Each subsequent retry waits `delayMultiplier` times longer than the previous one.
36
+ * E.g with defaults (delay=1000, delayMultiplier=2) retries wait 1000, 2000, 4000 ms.
37
+ *
34
38
  * @default 1000 ms
35
39
  */
36
40
  delay?: number
37
41
 
38
42
  /**
43
+ * Multiplier applied to the delay after each retry ("Exponential back-off").
44
+ *
39
45
  * @default 2
40
46
  */
41
47
  delayMultiplier?: number
@@ -174,8 +180,9 @@ export async function pRetry<T>(
174
180
  }
175
181
 
176
182
  // Retry after delay
177
- delay *= delayMultiplier
178
183
  await pDelay(delay)
184
+ // Increase the delay for the next possible retry (exponential back-off)
185
+ delay *= delayMultiplier
179
186
  // back to while(true) loop
180
187
  }
181
188
  }