Проблема с асинхронностью в dart

import 'dart:async';
import 'dart:io';


StreamSubscription? sub;
Stream? stram;

void main() {
  print('Start');
  stram = Stream.periodic(Duration(seconds: 1), (tick) => tick);
  sub = stram?.listen((event) {
    print(event);
  });
  print('Middle');
  Future.delayed(Duration(seconds: 5), () {
    sub?.cancel();
  });
  print('End');
}

Разбираюсь с асинхронным программированием, не могу понять, почему сначала напечатается "Start", "Middle" и "End" Вроде код должен же работать в этом случае построчно. Подскажите, где и что я упустил


Ответы (0 шт):