Logo Passei Direto
Buscar
Ao desenvolver uma aplicação Flutter, é comum precisar acessar recursos externos como arquivos, bancos de dados, ou mesmo uma API externa. Porém, todo recurso leva um tempo para retornar algo e é importante manter a execução de outras tarefas do app, permitindo que a interface da tela, por exemplo, seja renderizada. Para isso, o conceito de programação assíncrona no Flutter é utilizado. A classe Future pode ser utilizada para representar uma (e apenas uma) tarefa ou cálculo que não é concluído imediatamente. Qual alternativa a seguir mostra um exemplo de uma aplicação Dart que lê um valor do tipo Future retornado por uma função hipotética (chamada funcaoAssincrona) que retorna um valor inteiro, após um intervalo desconhecido de tempo e exibe o ​​​​​​​seu valor corretamente na tela? Selecione a resposta: a Future main async() { var valor = await funcaoAssincrona(); print (valor); ​​​​​​​} b Future main() { var valor = await funcaoAssincrona(); print (valor); } c Future main async() { var valor = funcaoAssincrona(); print (valor); } d Future main async() { var valor = await
User badge image
DONIZETI SANTANA FERREIRA

há 2 semanas

Respostas

User badge image

Ed Verified user icon

há 2 semanas

Para resolver essa questão, precisamos entender como a programação assíncrona funciona em Dart, especialmente no contexto do Flutter. A palavra-chave `async` é usada para indicar que uma função é assíncrona, e `await` é utilizado para esperar a conclusão de uma operação assíncrona antes de continuar a execução. Vamos analisar as alternativas: a) `Future main async() { var valor = await funcaoAssincrona(); print (valor); }` - Esta opção está correta, mas a sintaxe está errada. O correto seria `Future main() async { ... }`. b) `Future main() { var valor = await funcaoAssincrona(); print (valor); }` - Esta opção está incorreta porque falta a palavra-chave `async` na definição da função `main`. c) `Future main async() { var valor = funcaoAssincrona(); print (valor); }` - Esta opção está incorreta porque não está usando `await`, então `valor` não será um `Future` resolvido. d) `Future main async() { var valor = await` - Esta opção está incompleta e, portanto, não pode ser considerada. A única opção que se aproxima da resposta correta, apesar de um erro de sintaxe, é a (a), mas a forma correta de escrever seria `Future main() async { ... }`. Portanto, a resposta correta, considerando a intenção da pergunta, é a) (com a correção da sintaxe).

Essa resposta te ajudou?

0
Dislike0

Ainda com dúvidas?

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

Mais conteúdos dessa disciplina