Logo Passei Direto
Buscar
A programação para NodeJS exige, na maioria das vezes, bom conhecimento acerca da sintaxe JavaScript para processamento assíncrono. Considere as funções assíncronas apresentadas a seguir. const somar = async (a, b) => a + b; const multiplicar = async (c, d) => { let resp = 0; while(d-->0) resp = await somar(resp,c); return resp; } Dentro de um processo síncrono, qual seria a sintaxe correta para multiplicar por 7 o resultado da soma entre 2 e 3, apresentando o resultado no console?

A - await(multiplicar(7, await somar(2,3))).then((x)=>console.log(x));
B - multiplicar(7, somar(2,3)).then((x)=>console.log(x));
C - console.log(multiplicar(7, somar(2,3)));
D - console.log(await multiplicar(7, await somar(2,3)));
E - somar(2,3).then((x)=>multiplicar(x,7)).then((x)=>console.log(x));
User badge image
Questões para Estudantes

ano passado

Respostas

User badge image

Ed Verified user icon

ano passado

Para resolver essa questão, precisamos entender como as funções assíncronas e o `await` funcionam em JavaScript, especialmente no contexto do NodeJS. 1. Funções Assíncronas: As funções `somar` e `multiplicar` são assíncronas, o que significa que elas retornam uma Promise. Para obter o resultado, precisamos usar `await` ou `.then()`. 2. Objetivo: Precisamos multiplicar o resultado da soma de 2 e 3 por 7 e exibir o resultado no console. Agora, vamos analisar as opções: A - `await(multiplicar(7, await somar(2,3))).then((x)=>console.log(x));` - Esta opção está incorreta porque `await` não deve ser usado dessa forma. B - `multiplicar(7, somar(2,3)).then((x)=>console.log(x));` - Esta opção está incorreta porque `somar(2, 3)` é uma função assíncrona e precisa de `await` para obter o resultado. C - `console.log(multiplicar(7, somar(2,3)));` - Esta opção está incorreta porque não está lidando com a natureza assíncrona das funções. D - `console.log(await multiplicar(7, await somar(2,3)));` - Esta opção está correta. Aqui, estamos usando `await` para obter o resultado da soma e, em seguida, multiplicando por 7, tudo dentro de um `console.log`. E - `somar(2,3).then((x)=>multiplicar(x,7)).then((x)=>console.log(x));` - Esta opção está correta, mas não é a mais direta para o que foi pedido, pois usa encadeamento de Promises. A opção mais direta e correta para o que foi solicitado é: D - console.log(await multiplicar(7, await somar(2,3)));

Essa resposta te ajudou?

0
Dislike0
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar essa resposta. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais perguntas desse material

Mais conteúdos dessa disciplina