对 Stream 事件的订阅。
当你使用 Stream.listen 监听一个 Stream 时,会返回一个 StreamSubscription 对象。
订阅提供事件给监听器,并持有处理事件的回调函数。订阅还可以用于取消订阅事件或临时暂停从流中的事件。
示例
final stream = Stream.periodic(const Duration(seconds: 1), (i) => i * i)
.take(10);
final subscription = stream.listen(print); // A StreamSubscription<int>.
要暂停订阅,使用 pause。
// Do some work.
subscription.pause();
print(subscription.isPaused); // true
在暂停后恢复,使用 resume。
// Do some work.
subscription.resume();
print(subscription.isPaused); // false
要取消订阅,使用 cancel。
// Do some work.
subscription.cancel();
构造函数
属性
- hashCode → int
- 该对象的哈希码。无设置器继承
- isPaused → bool
- StreamSubscription 是否当前已暂停。无设置器
- runtimeType → Type
- 对象的运行时类型表示。无设置器继承
方法
-
asFuture<
E> ([E? futureValue]) → Future< E> - 返回一个处理 onDone 和 onError 回调的 future。
-
cancel(
) → Future< void> - 取消此订阅。
-
noSuchMethod(
Invocation invocation) → dynamic - 当访问不存在的方法或属性时被调用。继承
-
onData(
void handleData(T data)?) → void - 替换此订阅的数据事件处理程序。
-
onDone(
void handleDone()?) → void - 替换此订阅的完成事件处理程序。
-
onError(
Function? handleError) → void - 替换此订阅的错误事件处理程序。
-
pause(
[Future< void> ? resumeSignal]) → void - 请求流暂停事件,直到收到进一步的通知。
-
resume(
) → void - 暂停后继续。
-
toString(
) → String - 这个对象的字符串表示。继承
操作符
-
operator ==(
Object other) → bool - 等于操作符。继承