ProcessQueue

.Structs. ProcessQueue

进程队列维护三个内部列表. `pending` 列表是将在下一次更新中进行 `active` 的项目选择. `active` 列表是被认为是活动的并且应该更新的项目的选择. `destroy` 列表是已激活并等待在下一次更新中销毁的项目的选择. 当新项目被添加到进程队列时,它们将被放入挂起列表,而不是被添加 立即激活列表.同样,被移除的物品被列入销毁清单,而不是 立即被摧毁.这允许处理队列在特定的,固定的 时间,而不是从应用编程接口请求的时间.

Constructor

new ProcessQueue()

Since:
  • 3.0.0

Extends

Members

checkQueue :boolean

Since:
  • 3.50.0
如果 `true` ,队列中只允许唯一的对象.
Type:
  • boolean

(readonly) length :number

Since:
  • 3.20.0
活动列表中的条目数.
Type:
  • number

Methods

add(item) → {*}

Since:
  • 3.0.0
向进程队列添加新项目. 该项目将被添加到待定列表中,并在下一次更新中处于活动状态.
Parameters:
Name Type Description
item * 要添加到队列中的项目.
Returns:
添加的项目.
Type
*

addListener(event, fn, contextopt) → {this}

Since:
  • 3.0.0
Inherited From:
为给定事件添加侦听器.
Parameters:
Name Type Attributes Default Description
event string | symbol 事件名称.
fn function 侦听器函数.
context * <optional>
this 用来调用侦听器的上下文.
Returns:
`this`.
Type
this

destroy()

Since:
  • 3.0.0
Overrides:
立即销毁该进程队列,清除其所有内部数组并重置进程总数.

emit(event, …argsopt) → {boolean}

Since:
  • 3.0.0
Inherited From:
调用为给定事件注册的每个侦听器.
Parameters:
Name Type Attributes Description
event string | symbol 事件名称.
args * <optional>
<repeatable>
将传递给事件处理程序的附加参数.
Returns:
`true` 如果事件有侦听器,则为 `false` .
Type
boolean

eventNames() → {Array.<(string|symbol)>}

Since:
  • 3.0.0
Inherited From:
返回一个数组,列出发射器已注册侦听器的事件.
Returns:
Type
Array.<(string|symbol)>

getActive() → {Array.<*>}

Since:
  • 3.0.0
返回当前活动项目列表. 此方法返回对活动列表数组的引用,而不是它的副本. 因此,请注意不要在进程队列之外修改此数组.
Returns:
活动项目列表.
Type
Array.<*>

listenerCount(event) → {number}

Since:
  • 3.0.0
Inherited From:
返回监听给定事件的侦听器数量.
Parameters:
Name Type Description
event string | symbol 事件名称.
Returns:
侦听器的数量.
Type
number

listeners(event) → {Array.<function()>}

Since:
  • 3.0.0
Inherited From:
返回为给定事件注册的侦听器.
Parameters:
Name Type Description
event string | symbol 事件名称.
Returns:
注册的听众.
Type
Array.<function()>

off(event, fnopt, contextopt, onceopt) → {this}

Since:
  • 3.0.0
Inherited From:
移除给定事件的侦听器.
Parameters:
Name Type Attributes Description
event string | symbol 事件名称.
fn function <optional>
仅移除与此函数匹配的侦听器.
context * <optional>
仅移除具有此上下文的侦听器.
once boolean <optional>
仅删除一次性侦听器.
Returns:
`this`.
Type
this

on(event, fn, contextopt) → {this}

Since:
  • 3.0.0
Inherited From:
为给定事件添加侦听器.
Parameters:
Name Type Attributes Default Description
event string | symbol 事件名称.
fn function 侦听器函数.
context * <optional>
this 用来调用侦听器的上下文.
Returns:
`this`.
Type
this

once(event, fn, contextopt) → {this}

Since:
  • 3.0.0
Inherited From:
为给定事件添加一次性侦听器.
Parameters:
Name Type Attributes Default Description
event string | symbol 事件名称.
fn function 侦听器函数.
context * <optional>
this 用来调用侦听器的上下文.
Returns:
`this`.
Type
this

remove(item) → {*}

Since:
  • 3.0.0
从进程队列中删除一个项目. 该项目将被添加到挂起的销毁中,并在下一次更新中完全删除.
Parameters:
Name Type Description
item * 要从队列中删除的项目.
Returns:
已移除的项目.
Type
*

removeAll() → {this}

Since:
  • 3.20.0
从此处理队列中删除所有活动项目. 所有项目都标记为 `pending destroy` ,并在下一次更新中完全删除.
Returns:
此进程队列对象.
Type
this

removeAllListeners(eventopt) → {this}

Since:
  • 3.0.0
Inherited From:
移除所有侦听器或指定事件的侦听器.
Parameters:
Name Type Attributes Description
event string | symbol <optional>
事件名称.
Returns:
`this`.
Type
this

removeListener(event, fnopt, contextopt, onceopt) → {this}

Since:
  • 3.0.0
Inherited From:
移除给定事件的侦听器.
Parameters:
Name Type Attributes Description
event string | symbol 事件名称.
fn function <optional>
仅移除与此函数匹配的侦听器.
context * <optional>
仅移除具有此上下文的侦听器.
once boolean <optional>
仅删除一次性侦听器.
Returns:
`this`.
Type
this

shutdown()

Since:
  • 3.0.0
Inherited From:
移除所有侦听器.

update() → {Array.<*>}

Since:
  • 3.0.0
更新此队列.首先,它将处理任何等待销毁的项目,并删除它们. 然后它将检查是否有任何项目等待插入,并将它们移动到 活动状态.最后,它将返回一个活动项列表供进一步处理.
Returns:
活动项目列表.
Type
Array.<*>