Extends
- EventEmitter
Members
-
private q :Array.<Task>
-
Tasks queue.
Methods
-
async add(taskFn) → {Promise}
-
Add task to queue.
Parameters:
Name Type Description taskFn
function Task executor.
Throws:
Error if no valid function provided.
Returns:
Promise -Task result.
-
async addBunch(…taskFns) → {Promise}
-
Add multiple tasks to queue. This will be resolved when last task in a list will be resolved. In case if any task failed this will be rejected.
Parameters:
Name Type Attributes Description taskFns
function <repeatable>
Task executors.
Throws:
Error if no valid function provided.
Returns:
Promise -Tasks results.
-
hasRunningTasks() → {boolean}
-
Check whatever queue has running tasks.
Returns:
boolean -
private onNewTask(task) → {boolean}
-
New task handler.
Parameters:
Name Type Description task
Task Task.
Returns:
boolean -Whatever if task has been started immediately.
-
private onTaskDone(task) → {boolean}
-
Remove task from queue and start next in queue.
Parameters:
Name Type Description task
Task Ended task.
Returns:
boolean -Whatever any another task has run.
-
private pushTask(task) → {Array.<Task, Promise>}
-
Internal method to push task to queue.
Parameters:
Name Type Description task
Task | function Task or task function to add.
-
private tryToRunTask(taskopt) → {boolean}
-
Try to run task if there's no already running tasks.
Parameters:
Name Type Attributes Default Description task
Task <optional>
this.q[0] Task to run. Will we set to first in queue if not specified.
Returns:
boolean -Whatever if any task has ran.