1
resposta

Dei um toque no código

coloquei um laço de repetição, printando o "."

void main() {
  Future exterminador = Future(() async {
    print('Venha comigo se quiser viver');
    for (int i = 0; i < 5; i++) {
      await Future.delayed(Duration(seconds: 1));
      print('.');
    }

    return 'Hasta la vista, baby';
  }).then((value) => print(value));
}
1 resposta

Olá, Vitor!

Pelo que vejo, você adicionou um laço de repetição para imprimir os pontos, o que é uma ótima maneira de simplificar o código. O código original tinha várias linhas repetidas para imprimir os pontos, mas com o seu laço de repetição, você conseguiu fazer a mesma coisa de forma mais eficiente.

Seu código agora funciona da seguinte maneira: ele imprime 'Venha comigo se quiser viver', então entra no laço de repetição. Para cada iteração do laço (um total de 5), ele aguarda 1 segundo (devido ao Future.delayed(Duration(seconds: 1))) e então imprime um ponto. Isso acontece 5 vezes. Após o laço, ele retorna 'Hasta la vista, baby', que é impresso pelo .then().

Portanto, seu código modificado ainda corresponde à opção D do exercício: ele imprime no console uma mensagem de aviso; espera por 5 segundos, indicando no console cada segundo com um ponto de espera; e, por fim, nos dá adeus.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software