cancellable library

Classes

Cancellable
用于取消 不支持跨isolate使用
CancellableAny
任意一个able的取消都会导致所有的able执行取消
CancellableCompleter<T>
CancellableEvery
所有的able执行完取消才会取消group

Functions

isFuture<T>() bool
runCancellableZoned<R>(R body(), {Map<Object?, Object?>? zoneValues, required Cancellable cancellable, void onCancel(CancelledException reason)?, bool ignoreCancelledException = true, bool forkZoneWithCancellable = true}) → R?
利用cancellable绑定到zone 当cancel后zone所有的注册事件将不会调用 包含stream 的close 等相关的回调
runNotInCancellableZone<R>(R action()) → R
必须不能运行在CancellableZone 如果是 则寻找其parent
runWhenCancellableZone(void action(Cancellable cancellable)) → void
若当前zone是CancellableZone则会执行action 如果不是则直接跳过action

Exceptions / Errors

CancelledException
当取消后将原因转换为异常