Não entendi o por que da função retry ser chamada 3 vezes como esperado sendo que no return, retries está condicionada a funcionar quando ela for maior que 1 ">" e não quando ela foi maior ou igual ">="... A impressão que dá é que ela executa a função antes de passar pela condicional
Expliquem-me como acontece o código, por favor!
export const retry = (retries, milliseconds, fn) =>
fn().catch(err => {
console.log(retries);
return delay(milliseconds)().then(() =>
retries > 1
? retry(--retries, milliseconds, fn)
: Promise.reject(err))
})
`