StreamSubscription class - dart:async library (original) (raw)
A subscription on events from a Stream.
When you listen on a Stream using Stream.listen, a StreamSubscription object is returned.
The subscription provides events to the listener, and holds the callbacks used to handle the events. The subscription can also be used to unsubscribe from the events, or to temporarily pause the events from the stream.
Example:
final stream = Stream.periodic(const Duration(seconds: 1), (i) => i * i)
.take(10);
final subscription = stream.listen(print); // A StreamSubscription<int>.
To pause the subscription, use pause.
// Do some work.
subscription.pause();
print(subscription.isPaused); // true
To resume after the pause, use resume.
// Do some work.
subscription.resume();
print(subscription.isPaused); // false
To cancel the subscription, use cancel.
// Do some work.
subscription.cancel();
Properties
The hash code for this object.
no setterinherited
Whether the StreamSubscription is currently paused.
no setter
A representation of the runtime type of the object.
no setterinherited
Methods
asFuture<E>([E? futureValue])→ Future<E>
Returns a future that handles the onDone and onError callbacks.
Cancels this subscription.
noSuchMethod(Invocation invocation)→ dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onData(void handleData(T data)?)→ void
Replaces the data event handler of this subscription.
onDone(void handleDone()?)→ void
Replaces the done event handler of this subscription.
onError(Function? handleError)→ void
Replaces the error event handler of this subscription.
pause([Future<void>? resumeSignal])→ void
Requests that the stream pauses events until further notice.
resume()→ void
Resumes after a pause.
A string representation of this object.
inherited
Operators
operator ==(Object other)→ bool
The equality operator.
inherited