как получить последнее значение в потоке <String>с помощью rxdart? - PullRequest
0 голосов
/ 02 февраля 2019

У меня есть поток, который содержит строковые значения, и я хочу получить последнее значение в этой строке.какой лучший способ сделать это?

  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);
          }
        },
      ),
    );
  }

1 Ответ

0 голосов
/ 23 марта 2019

Получите пакет 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 - это пакет Object rxDart.Он работает как StreamController, по умолчанию функция broadcast () включена, и BehaviorSubject имеет больше функций, чем StreamController.

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