ReceivePort класс
Вместе с SendPort, единственный способ общения между изолятами.
ReceivePort имеет свойство sendPort, которое возвращает SendPort. Любое сообщение, отправленное через этот SendPort, доставляется в ReceivePort, из которого оно было создано. Там сообщение передаётся слушателю ReceivePort.
ReceivePort — это не-расширяемый поток. Это означает, что он буферизует входящие сообщения до регистрации слушателя. Только один слушатель может получать сообщения. Смотрите Stream.asBroadcastStream для преобразования порта в расширяемый поток.
ReceivePort может иметь много SendPortов.
- Реализованные типы
Конструкторы
- ReceivePort([String debugName = '']) factory
- Открывает долгоживущий порт для получения сообщений.
- ReceivePort.fromRawReceivePort(RawReceivePort rawPort) factory
- Создаёт ReceivePort из RawReceivePort.
Свойства
- first → Future только для чтения, унаследованное
- Первый элемент этого потока.
- hashCode → int только для чтения, унаследованное
- Хэш-код этого объекта.
- isBroadcast → bool только для чтения, унаследованное
- Является ли этот поток расширяемым потоком.
- isEmpty → Future<
bool> только для чтения, унаследованное - Содержит ли этот поток какие-либо элементы.
- last → Future только для чтения, унаследованное
- Последний элемент этого потока.
- length → Future<
int> только для чтения, унаследованное - Количество элементов в этом потоке.
- runtimeType → Type только для чтения, унаследованное
- Представление типа объекта во время выполнения.
- sendPort → SendPort только для чтения
- SendPort, который отправляет сообщения в этот порт получения.
- single → Future только для чтения, унаследованное
- Единственный элемент этого потока.
Методы
- any(
bool test(dynamic element)) → Future< bool> inherited - Проверяет, принимает ли
testлюбой элемент, предоставляемый этим потоком. - asBroadcastStream(
{void onListen(StreamSubscription subscription)?, void onCancel(StreamSubscription subscription)?}) → Stream inherited - Возвращает поток с множественными подписками, производящий те же события, что и этот.
- asyncExpand<
E>( Stream< E>? convert(dynamic event)) → Stream< E> inherited - Преобразует каждый элемент в последовательность асинхронных событий.
- asyncMap<
E>( FutureOr< E> convert(dynamic event)) → Stream< E> inherited - Создаёт новый поток, в котором каждое событие данных из этого потока асинхронно сопоставляется с новым событием.
- cast<
R>( ) → Stream< R> inherited - Адаптирует этот поток, чтобы он стал
Stream<R>. - close(
) → void - Закрывает порт получения.
- contains(
Object? needle) → Future< bool> inherited - Возвращает, присутствует ли
needleв элементах, предоставляемых этим потоком. - distinct(
[bool equals(dynamic previous, dynamic next)?]) → Stream inherited - Пропускает события данных, если они равны предыдущему событию данных.
- drain<
E>( [E? futureValue]) → Future< E> inherited - Отбрасывает все данные в этом потоке, но сигнализирует, когда он завершён или произошла ошибка.
- elementAt(
int index) → Future inherited - Возвращает значение
index-го события данных этого потока. - every(
bool test(dynamic element)) → Future< bool> inherited - Проверяет, принимает ли
testвсе элементы, предоставленные этим потоком. - expand<
S>( Iterable< S> convert(dynamic element)) → Stream< S> inherited - Преобразует каждый элемент этого потока в последовательность элементов.
- firstWhere(
bool test(dynamic element), {dynamic orElse()?}) → Future inherited - Находит первый элемент этого потока, соответствующий
test. - fold<
S>( S initialValue, S combine(S previous, dynamic element)) → Future< S> inherited - Объединяет последовательность значений, многократно применяя
combine. - forEach(
void action(dynamic element)) → Future inherited - Выполняет
actionдля каждого элемента этого потока. - handleError(
Function onError, {bool test(dynamic error)?}) → Stream inherited - Создаёт оберточный поток, который перехватывает некоторые ошибки из этого потока.
- join(
[String separator = ""]) → Future< String> inherited - Объединяет строковое представление элементов в одну строку.
- lastWhere(
bool test(dynamic element), {dynamic orElse()?}) → Future inherited - Находит последний элемент в этом потоке, соответствующий
test. - listen(
void onData(dynamic message)?, {Function? onError, void onDone()?, bool? cancelOnError}) → StreamSubscription override - Прислушивайтесь к событиям из Stream.
- map<
S>( S convert(dynamic event)) → Stream< S> inherited - Преобразует каждый элемент этого потока в новое событие потока.
- noSuchMethod(
Invocation invocation) → dynamic inherited - Вызывается при попытке доступа к несуществующему методу или свойству.
- pipe(
StreamConsumer streamConsumer) → Future inherited - Перенаправляет события этого потока в
streamConsumer. - reduce(
dynamic combine(dynamic previous, dynamic element)) → Future inherited - Объединяет последовательность значений, многократно применяя
combine. - singleWhere(
bool test(dynamic element), {dynamic orElse()?}) → Future inherited - Находит единственный элемент в этом потоке, соответствующий
test. - skip(
int count) → Stream inherited - Пропускает первые
countсобытий данных из этого потока. - skipWhile(
bool test(dynamic element)) → Stream inherited - Пропускает события данных из этого потока, пока они соответствуют
test. - take(
int count) → Stream inherited - Предоставляет не более первых
countсобытий данных этого потока. - takeWhile(
bool test(dynamic element)) → Stream inherited - Передаёт события данных, пока
testуспешно. - timeout(
Duration timeLimit, {void onTimeout(EventSink sink)?}) → Stream inherited - Создаёт новый поток с теми же событиями, что и этот поток.
- toList(
) → Future< List> inherited - Собрать все элементы этого потока в
List. - toSet(
) → Future< Set> inherited - Собрать данные из этого потока в
Set. - toString(
) → String inherited - Строковое представление этого объекта.
- transform<
S>( StreamTransformer< dynamic, S> streamTransformer) → Stream< S> inherited - Применяет
streamTransformerк этому потоку. - where(
bool test(dynamic event)) → Stream inherited - Создаёт новый поток из этого потока, отбрасывая некоторые элементы.
Операторы
- operator ==(
Object other) → bool inherited - Оператор равенства.
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-isolate/ReceivePort-class.html