You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
497 B
29 lines
497 B
// API |
|
module.exports = abort; |
|
|
|
/** |
|
* Aborts leftover active jobs |
|
* |
|
* @param {object} state - current state object |
|
*/ |
|
function abort(state) |
|
{ |
|
Object.keys(state.jobs).forEach(clean.bind(state)); |
|
|
|
// reset leftover jobs |
|
state.jobs = {}; |
|
} |
|
|
|
/** |
|
* Cleans up leftover job by invoking abort function for the provided job id |
|
* |
|
* @this state |
|
* @param {string|number} key - job id to abort |
|
*/ |
|
function clean(key) |
|
{ |
|
if (typeof this.jobs[key] == 'function') |
|
{ |
|
this.jobs[key](); |
|
} |
|
}
|
|
|