与 SendPort 一起,是隔离间通信的唯一方式。
ReceivePort 有一个 sendPort
getter,它返回一个 SendPort。通过此 SendPort 发送的消息将被传递到从中创建的 ReceivePort。在那里,消息将被分配到 ReceivePort
的监听器。
ReceivePort 是一个非广播流。这意味着它将缓冲传入的消息,直到注册了监听器。只有一个监听器可以接收消息。有关将端口转换为广播流的详细信息,请参阅 Stream.asBroadcastStream。
ReceivePort 可能具有多个 SendPort。
- 实现类型
构造函数
- ReceivePort([String debugName = ''])
- 打开一个用于接收消息的长生命端口。工厂
- ReceivePort.fromRawReceivePort(RawReceivePort rawPort)
- 从一个 RawReceivePort 创建一个 ReceivePort。工厂
属性
- 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 Roths
。继承 -
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< void> - 对此流中的每个元素执行
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 - 等于操作符。继承