Таймер:
Timer()
создает объект Timer
, который выполняет вычисления после задержки. Поскольку вы получаете ссылку на этот Timer
объект, вы можете отменить его до его запуска, вызвав cancel
.
Timer t = Timer(Duration(seconds: 1), () => print("1 sec later"));
t.cancel(); // nothing will be printed out
Future:
Future.delayed
создает Future
, который выполняет вычисления после задержки. Внутренне, он все еще использует Timer
для этого. Он не предоставляет вам таймер, поэтому вы не можете контролировать или отменять его. С другой стороны, вы можете делать обычные вещи из будущего, например, await
.
await Future.delayed(Duration(seconds: 1);
print("1 sec later");