Blame view

node_modules/asynckit/lib/terminator.js 533 Bytes
aaac7fed   liuqimichale   add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
  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);
  }