18 lines
331 B
JavaScript

function parallelExecuter(executer, operationCount){
var parameters = [];
var n = 0;
var ctr = 0;
function makeParallel(operation){
var id = n;
n++;
function cookie(){
parameters[id] = arguments;
ctr++;
if(ctr == operationCount){
executer(parameters);
}
}
operation(cookie);
}
return makeParallel;
}