Как написать метод, который ограничивает Q обещание concurrency?
Например, у меня есть метод spawnProcess
. Он возвращает обещание Q.
Я хочу не более 5 процессов, созданных за раз, но прозрачно для вызывающего кода.
Мне нужно реализовать функцию с сигнатурой
function limitConcurrency(promiseFactory, limit)
который я могу назвать как
spawnProcess = limitConcurrency(spawnProcess, 5);
// use spawnProcess as usual
Я уже начал работать над своей версией, но мне интересно, имеет ли кто-нибудь краткий вариант выполнения, с которым я могу проверить.