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
533 B
29 lines
533 B
var abort = require('./abort.js') |
|
, async = require('./async.js') |
|
; |
|
|
|
// API |
|
module.exports = terminator; |
|
|
|
/** |
|
* Terminates jobs in the attached state context |
|
* |
|
* @this AsyncKitState# |
|
* @param {function} callback - final callback to invoke after termination |
|
*/ |
|
function terminator(callback) |
|
{ |
|
if (!Object.keys(this.jobs).length) |
|
{ |
|
return; |
|
} |
|
|
|
// fast forward iteration index |
|
this.index = this.size; |
|
|
|
// abort jobs |
|
abort(this); |
|
|
|
// send back results we have so far |
|
async(callback)(null, this.results); |
|
}
|
|
|