UNPKG

co-parallel

Version:

parallel execution with concurrency control

23 lines (16 loc) 358 B
/** * Module dependencies. */ var thread = require('co-thread'); module.exports = function *parallel(thunks, n){ var n = Math.min(n || 5, thunks.length); var ret = []; var index = 0; function *next() { var i = index++; ret[i] = yield thunks[i]; if (index < thunks.length) yield next; } yield thread(next, n); return ret; };