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