CancellationToken class
A token for controlling the cancellation of Cancellable
operations.
A single token can be used for multiple Cancellable
operations.
Example implementation
CancellationToken cancellationToken = CancellationToken();
@override
void initState() {
super.initState();
loadData();
}
@override
void dispose() {
cancellationToken.cancel();
super.dispose();
}
Future<void> loadData() async {
loading = false;
try {
someDataA = await getDataA(cancellationToken: cancellationToken);
someDataB = await getDataB(cancellationToken: cancellationToken);
setState(() {});
} on CancelledException {
// Ignore cancellations
} catch (e, stackTrace) {
error = true;
}
}
See also:
MergedCancellationToken
, a CancellationToken that combines multiple tokens together.- TimeoutCancellationToken, a CancellationToken that automatically cancels after a given duration.
Constructors
Properties
- exception → Exception?
-
The exception given when the token was cancelled.
no setter
- hasCancellables → bool
-
Whether or not the token has any attached cancellables.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- isCancelled → bool
-
Whether or not the token has been cancelled.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
attachCancellable(
Cancellable cancellable) → void -
Attaches a
Cancellable
to this token. -
cancel(
[Exception? exception]) → void - Cancels all operations using this token.
-
cancelWithReason(
String? cancellationReason) → void - A convenience method for cancelling the token with a CancelledException that includes the reason for cancellation.
-
detachCancellable(
Cancellable cancellable) → void -
Detaches a
Cancellable
from this token. -
merge(
CancellationToken other) → MergedCancellationToken - Merges this CancellationToken with another to create a single token that will be cancelled when either token is cancelled.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
throwIfCancelled(
) → void - Throws the cancellation exception if the token has already been cancelled.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited