Sobes.tech
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.