Base class containing common functionality for Task and TaskGroup.
Extends EventEmitter
Our TaskGroup class.
Available configuration is documented in TaskGroup#setConfig.
Available events:
pending()
- emitted when execution has been triggeredrunning()
- emitted when the first item starts executionfailed(error)
- emitted when execution exited with a failurepassed()
- emitted when execution exited with a successcompleted(error, result)
- emitted when execution exited, result
is an {?Array} of the result arguments for each item that executederror(error)
- emtited if an unexpected error occured within ourselfdone(error, result)
- emitted when either the execution completes (the completed
event) or when an unexpected error occurs (the error
event)item.*(...)
- bubbled events from an added itemtask.*(...)
- bubbled events from an added {Task}group.*(...)
- bubbled events from an added {TaskGroup}Available internal statuses:
'created'
- execution has not yet started'pending'
- execution has been triggered'running'
- execution of items has begun'failed'
- execution has exited with failure status'passed'
- execution has exited with success status'destroyed'
- we've been destroyed and can no longer executeExtends BaseInterface
Our Task Class
Available configuration is documented in Task#setConfig.
Available events:
pending()
- emitted when execution has been triggeredrunning()
- emitted when the method starts executionfailed(error)
- emitted when execution exited with a failurepassed()
- emitted when execution exited with a successcompleted(error, ...resultArguments)
- emitted when execution exited, resultArguments
are the result arguments from the methoderror(error)
- emtited if an unexpected error occurs without ourselfdone(error, ...resultArguments)
- emitted when either execution completes (the completed
event) or when an unexpected error occurs (the error
event)Available internal statuses:
'created'
- execution has not yet started'pending'
- execution has been triggered'running'
- execution of our method has begun'failed'
- execution of our method has failed'passed'
- execution of our method has succeeded'destroyed'
- we've been destroyed and can no longer executeExtends BaseInterface
const Task = require('taskgroup').Task
Task.create('my synchronous task', function () {
return 5
}).done(console.info).run() // [null, 5]
Task.create('my asynchronous task', function (complete) {
complete(null, 5)
}).done(console.info).run() // [null, 5]
Task.create('my task that returns an error', function () {
var error = new Error('deliberate error')
return error
}).done(console.info).run() // [Error('deliberator error')]
Task.create('my task that passes an error', function (complete) {
var error = new Error('deliberate error')
complete(error)
}).done(console.info).run() // [Error('deliberator error')]