Como posso limitar a promessa de concorrência Q?
Como escrevo um método que limita a simultaneidade de promessa Q?
Por exemplo, eu tenho um métodospawnProcess
. Retorna uma promessa Q.
Eu quero não mais de 5 processos gerados de uma vez, mas de forma transparente para o código de chamada.
O que eu preciso implementar é uma função com assinatura
function limitConcurrency(promiseFactory, limit)
que eu posso ligar como
spawnProcess = limitConcurrency(spawnProcess, 5);
// use spawnProcess as usual
Eu já comecei a trabalhar na minha versão, mas gostaria de saber se alguém tem uma implementação concisa que eu possa verificar.