FIquei com uma dúvida na invocação da função dentro do Delay atividade 08 da aula 05. No recho específico do código
.. .return delay(millisecons)( ).then ...
Pelo vídeo entende-se que o segundo "( )" é usado para chamar a imediatamente função que está dentro do "delay", no caso o resolve da promise anterior, sem esperar o setTimeout. Isso é uma técnica comum para chamar funções dentro de outras funções o uso do segundo parenteses ? É uma outra forma de usar um segundo parâmetro em uma função? Vocês teriam algum artigo que possam passar sobre esse uso do segundo parenteses na chamada de função para que fique mais claro quando e como utilizar?
Desculpem se não fui muito claro na pergunta, mas esses dois parentese juntos "( ) ( ) " na chamada da função me deixou um pouco confuso.
Obrigado.
Função retry completa:
export const retry = (retries, milliseconds, fn) =>
fn().catch(err => {
console.log(retries);
return delay(milliseconds)( ).then(() =>
retries > 1
? retry(retries - 1, milliseconds, fn)
: Promise.reject(err))