Как объяснить разницу между этими 2 созданиями вещательных потоков? - PullRequest
0 голосов
/ 12 октября 2018

В зависимости от того, как я создаю широковещательный поток / streamController, результат не совпадает.

С StreamController.broadcast():

final sc = StreamController.broadcast();
final stream = sc.stream;
print(stream.isBroadcast);
stream.length.then(print);
stream.length.then(print);
sc..add('')..close();
stream.length.then(print);
stream.length.then(print);

Я получаю вывод:

true
c0
d0
a1
b1

С StreamController.stream.asBroadcastStream():

final sc = StreamController();
final stream = sc.stream.asBroadcastStream();
print(stream.isBroadcast);
stream.length.then(print);
stream.length.then(print);
sc..add('')..close();
stream.length.then(print);
stream.length.then(print);

Я получаю вывод:

true
a1
b1
c1
d1

Как объяснить различия?

(я сделал этот тест на DartPadSDK 2.0.0)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...