EventQueue class

以队列的形式进行并等待异步任务

目的: 确保任务之间的安全性

Available Extensions

Constructors

EventQueue({int channels = 1})
EventQueue.all()
所有任务即时运行,channels 无限制

Properties

actived bool
no setter
channels int
final
hashCode int
The hash code for this object.
no setterinherited
isLast bool
no setter
runner Future<void>?
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
stream Stream
no setter

Methods

addEventTask<T>(EventCallback<T> callback, {Object? taskKey}) → void
addOneEventTask<T>(EventCallback<T> callback, {Object? taskKey}) → void
如果任务队列中有多个任务,那么只会保留最后一个任务。
awaitOne<T>(EventCallback<T> callback, {Object? taskKey}) Future<T?>
返回的值可能为 null
awaitTask<T>(EventCallback<T> callback, {Object? taskKey}) Future<T>
doNotEnterQueue() bool
内部实现依赖TaskEntry的future, 如果满足下面条件就不能进入任务队列
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

currentTask TaskEntry?
no setter
delayRemove int
getter/setter pair

Static Methods

checkTempQueueLength() int
getQueueRunner(dynamic key, {int channels = 1}) Future<void>
getQueueState(dynamic key, {int channels = 1}) bool
getQueueStream(dynamic key, {int channels = 1}) Stream?
push<T>(dynamic key, EventCallback<T> task, {int channels = 1}) → void
pushOne<T>(dynamic key, EventCallback<T> task, {int channels = 1}) → void
run<T>(dynamic key, EventCallback<T> task, {int channels = 1}) Future<T>
拥有相同的key在会一个队列中
runEvent(TaskEntry task) Future<void>
runOne<T>(dynamic key, EventCallback<T> task, {int channels = 1}) Future<T?>
runTask<S>(dynamic key, S run(EventQueue event), {int channels = 1}) → S