UNPKG

533 BJavaScriptView Raw
1var abort = require('./abort.js')
2 , async = require('./async.js')
3 ;
4
5// API
6module.exports = terminator;
7
8/**
9 * Terminates jobs in the attached state context
10 *
11 * @this AsyncKitState#
12 * @param {function} callback - final callback to invoke after termination
13 */
14function terminator(callback)
15{
16 if (!Object.keys(this.jobs).length)
17 {
18 return;
19 }
20
21 // fast forward iteration index
22 this.index = this.size;
23
24 // abort jobs
25 abort(this);
26
27 // send back results we have so far
28 async(callback)(null, this.results);
29}