You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
498 B
20 lines
498 B
function runWithRetry(callback, maxRetries) { |
|
function executeWithRetryAndTimeout(currentCount) { |
|
try { |
|
if (currentCount > maxRetries - 1) { |
|
console.warn('[React Refresh] Failed to set up the socket connection.'); |
|
return; |
|
} |
|
|
|
callback(); |
|
} catch (err) { |
|
setTimeout(function () { |
|
executeWithRetryAndTimeout(currentCount + 1); |
|
}, Math.pow(10, currentCount)); |
|
} |
|
} |
|
|
|
executeWithRetryAndTimeout(0); |
|
} |
|
|
|
module.exports = runWithRetry;
|
|
|