Skip to content

Instantly share code, notes, and snippets.

@TuenTuenna
Created June 21, 2025 05:02
Show Gist options
  • Save TuenTuenna/f9ce851232c038929cd9c1d915f45a54 to your computer and use it in GitHub Desktop.
Save TuenTuenna/f9ce851232c038929cd9c1d915f45a54 to your computer and use it in GitHub Desktop.
stream_controller_tutorial
import 'dart:async';
import 'package:flutter/material.dart';
void main() {
var controller = StreamController<String>.broadcast();
var subscription01 = controller.stream;
subscription01.listen(
(data) {
print('[01 Listen] onData - data: $data');
},
onDone: () {
print('[01 Listen] onDone');
},
onError: (err) {
print('[01 Listen] onError - err: $err');
},
cancelOnError: true,
);
var subscription02 = controller.stream;
subscription02.listen(
(data) {
print('[02 Listen] onData - data: $data');
},
onDone: () {
print('[02 Listen] onDone');
},
onError: (err) {
print('[02 Listen] onError - err: $err');
},
cancelOnError: true,
);
print('controller.hasListener: ${controller.hasListener}');
controller.add("안녕하세요! 1");
controller.add("안녕하세요! 2");
controller.close();
controller.add("안녕하세요! 3");
// controller.addError('에러입니다.!');
controller.add("안녕하세요! 4");
controller.addStream(someDelayedWords());
// runApp(const MyApp());
}
Stream<String> someDelayedWords() async* {
await Future.delayed(Duration(seconds: 2));
yield '오늘도';
await Future.delayed(Duration(seconds: 2));
yield '빡코딩';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy