web-dev-qa-db-ja.com

RXDARTを使用してストリーム<文字列>で最後の値を取得する方法

文字列値を保持するストリームがあり、その文字列の最後の値を取得します。それをするための最良の方法は何ですか?

  Stream<String> get searchTextStream {
    return _searchController.stream.transform(
      StreamTransformer<String, String>.fromHandlers(
        handleData: (value, sink) {
          if (value.isEmpty || value.length < 4) {
            sink.addError('please enter some text..');
          } else {
            sink.add(value);
          }
        },
      ),
    );
  }
 _
5
Salma.

ここからRXDARTパッケージを入手 https://pub.dartlang.org/packages/rxdart

import 'package:rxdart/rxdart.Dart'; // 1. Import rxDart package.
final _searchController = BehaviorSubject<String>();  // 2. Initiate _searchController as BehaviorSubject in stead of StreamController.

String _lastValue = _searchController.value; // 3. Get the last value in the Stream.
 _

BehaviorSubjectはオブジェクトRXDARTパッケージです。それはStreamControllerのように機能します。

7
flamel2p