mirror of
				https://scm.univ-tours.fr/22107988t/rappaurio-sae501_502.git
				synced 2025-11-04 04:15:23 +01:00 
			
		
		
		
	v1.0 du site web
This commit is contained in:
		
							
								
								
									
										43
									
								
								app/node_modules/asynckit/parallel.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								app/node_modules/asynckit/parallel.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,43 @@
 | 
			
		||||
var iterate    = require('./lib/iterate.js')
 | 
			
		||||
  , initState  = require('./lib/state.js')
 | 
			
		||||
  , terminator = require('./lib/terminator.js')
 | 
			
		||||
  ;
 | 
			
		||||
 | 
			
		||||
// Public API
 | 
			
		||||
module.exports = parallel;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Runs iterator over provided array elements in parallel
 | 
			
		||||
 *
 | 
			
		||||
 * @param   {array|object} list - array or object (named list) to iterate over
 | 
			
		||||
 * @param   {function} iterator - iterator to run
 | 
			
		||||
 * @param   {function} callback - invoked when all elements processed
 | 
			
		||||
 * @returns {function} - jobs terminator
 | 
			
		||||
 */
 | 
			
		||||
function parallel(list, iterator, callback)
 | 
			
		||||
{
 | 
			
		||||
  var state = initState(list);
 | 
			
		||||
 | 
			
		||||
  while (state.index < (state['keyedList'] || list).length)
 | 
			
		||||
  {
 | 
			
		||||
    iterate(list, iterator, state, function(error, result)
 | 
			
		||||
    {
 | 
			
		||||
      if (error)
 | 
			
		||||
      {
 | 
			
		||||
        callback(error, result);
 | 
			
		||||
        return;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      // looks like it's the last one
 | 
			
		||||
      if (Object.keys(state.jobs).length === 0)
 | 
			
		||||
      {
 | 
			
		||||
        callback(null, state.results);
 | 
			
		||||
        return;
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    state.index++;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return terminator.bind(state, callback);
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user