Junior — Middle
Podes explicar o conceito de programação assíncrona e como ela difere da abordagem síncrona?
sobes.tech IA
Resposta da IA
A programação assíncrona permite executar operações que levam tempo (por exemplo, carregar dados da rede) sem bloquear o thread principal de execução do programa. Isso significa que a aplicação pode continuar a funcionar e responder às ações do utilizador enquanto uma tarefa prolongada está a ser executada.
Na abordagem síncrona, a execução do código ocorre de forma sequencial: o programa espera que uma operação termine antes de passar para a seguinte, o que pode levar a bloqueios na interface.
No Flutter, para programação assíncrona, usam-se as palavras-chave async e await:
Future<String> fetchData() async {
// simulação de atraso
await Future.delayed(Duration(seconds: 2));
return 'Dados carregados';
}
void main() async {
print('A começar o carregamento');
String data = await fetchData();
print(data);
}
Aqui, fetchData é executado de forma assíncrona, sem bloquear o thread principal.