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); | 
						|
}
 | 
						|
 |