RxDart

响应式编程

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();
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容