响应式编程
Observable
@override
void initState() {
super.initState();
Observable<String> _observable =
// Observable(Stream.fromIterable(['hello', '您好'])); // 第一种方法
// Observable.fromFuture(Future.value('hello ~')); // 第二种方法
// Observable.fromIterable(['hello', '您好']); // 第三种方法
// Observable.just('hello ~'); // 第四种方法
Observable.periodic(Duration(seconds: 3), (x) => x.toString()); // 间隔时间,每隔一段时间调用computation
_observable.listen(print);
}
PublishSubject
类似于Stream
中的Controller
PublishSubject<String> _subject = PublishSubject<String>();
_subject.listen((data) => print('listeb 1: $data'));
_subject.add('hello ~');
_subject.listen((data) => print('listeb 2: ${data.toUpperCase()}'));
_subject.add('hola');
_subject.close();