Constructor
new ActionQueue(param)
The action queue what can process multiple actions.
Parameters:
Name | Type | Description |
---|---|---|
param |
Object | The initial parameters. |
- Source:
Example
let actionQueue = new THING.ActionQueue({ name: 'MyActionQueue' });
Members
actions :Array.<ActionProcessor>
Get actions.
Type:
- Array.<ActionProcessor>
- Source:
Example
// Print action queue's (actions/processors)
console.log(actionQueue.actions);
name :String
Get/Set name.
Type:
- String
- Source:
Example
// Print action queue's name
console.log(actionQueue.name);
Methods
add(processor, name, priority)
Add action.
Parameters:
Name | Type | Default | Description |
---|---|---|---|
processor |
Array.<ActionProcessor> | ActionProcessor | The action processor(s). | |
name |
String | The action name(only works for single processor mode). | |
priority |
Number | 0 | The action priority value(default is 0, higher value indicates higher priority). |
- Source:
Example
// Create action processor
class ActionProcessor {
onStop() {
}
onRun(options) {
}
};
actionQueue.add(new ActionProcessor(), 'FirstActionProcessor', 1000);
clear()
Clear all groups and result.
- Source:
Example
let actionQueue = new THING.ActionQueue({ name: 'MyActionQueue' });
class ActionProcessor {
onStop() {
}
onRun(options) {
}
};
actionQueue.add(new ActionProcessor(), 'FirstActionProcessor', 1000);
actionQueue.clear();
// @expect(actionQueue.actions.length == 1);
getByName(name) → {ActionProcessor}
Get action by name.
Parameters:
Name | Type | Description |
---|---|---|
name |
String | The action name. |
- Source:
Returns:
- Type
- ActionProcessor
Example
let actionProcessor = actionQueue.getByName('FirstActionProcessor');
getByType(type) → {ActionProcessor}
Get action by type.
Parameters:
Name | Type | Description |
---|---|---|
type |
* | The action type. |
- Source:
Returns:
- Type
- ActionProcessor
Example
// ActionProcess is class type(class ActionProcessor)
let actionProcessor = actionQueue.getByType(ActionProcessor);
removeByName(name)
Remove action by name.
Parameters:
Name | Type | Description |
---|---|---|
name |
String | The action name. |
- Source:
Example
actionQueue.removeByName('FirstActionProcessor');
removeByType(type)
Remove action by type.
Parameters:
Name | Type | Description |
---|---|---|
type |
* | The action type. |
- Source:
Example
// ActionProcess is class type(class ActionProcessor)
actionQueue.removeByType(ActionProcessor);
traverseByName(name, callback)
Traverse by name.
Parameters:
Name | Type | Description |
---|---|---|
name |
String | The action name. |
callback |
OnTraverseActionProcessorCallback | The callback function. |
- Source:
Example
actionQueue.traverseByName('PlayAction', (actionProcessor) => {
console.log(actionProcessor);
});
traverseByType(type, callback)
Traverse by type.
Parameters:
Name | Type | Description |
---|---|---|
type |
* | The action type. |
callback |
OnTraverseActionProcessorCallback | The callback function. |
- Source:
Example
// ActionProcess is class type(class ActionProcessor)
actionQueue.traverseByType(ActionProcess, (actionProcessor) => {
console.log(actionProcessor);
});