EventQueue class
以队列的形式进行并等待异步任务
目的: 确保任务之间的安全性
- Available Extensions
Constructors
- EventQueue({int channels = 1})
- EventQueue.all()
- 所有任务即时运行,channels 无限制
Properties
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