Caso você não conheça o conceito do Continuation Passing Style(CPS) ou funcções de callback, recomendo que primeiro veja o artigo Funções de Retorno (callback) para entender melhor o funcionamento do exercício.
Também pode ser interessante tentar resolver primeiro o exercício callback e variaveis antes para ir praticando.
Se você estiver tranquilo com o material acima, então vamos lá. Com base no código a seguir:
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> </head> <body> <script> //De um valor numerico inteiro a estas variaveis const valBase; const valBase2; function fazerAlgo(num1, num2, func) { func(num1++, ++num2); console.log(num2); } fazerAlgo(valBase, valBase2, (novoNum1, novoNum2) => { //De um valor a estas variaveis que seja a soma de outras variaveis let valX; let valY; console.log(novoNum1); fazerAlgo(valX, valY, (valBase, valBase2) => { setTimeout(() => { console.log(novoNum1); }, 1000, valBase); fazerAlgo(Math.pow(valBase,2), valBase2, (valFinal1, valFinal2)=>{ setTimeout(() => { console.log(valFinal1 - valFinal2); }, 1000, valBase); }); setTimeout(() => { console.log(valBase2); }, 500, valBase); }); }); </script> </body> </html>
- Atribua valores as variaveis valBase e valBase2 que sejam dois números positivos e inteiros.
- Atribua valores as variaveis valX e valY que sejam a soma de outras 2 variaveis. (exemplo: valX = novoNum1 + novoNum2)
- Os valores atribuidos as variaveis tem que gerar a seguinte saida no console(um por linha)
- 10
- 13
- 12
- 6
- 12
- 10
- 387
Dicas:
- Debugue o código, para ter uma ideia melhor do que está acontecendo
- Procure por momentos em que as primeiras variaveis são impressas
oi, onde posso encontrar a solução \ explicação desse exercicio? obrigada.