Jak mogę ograniczyć współbieżność obietnic Q?
Jak napisać metodę ograniczającą współbieżność obietnicy Q?
Na przykład mam metodęspawnProcess
. Zwraca obietnicę Q.
Chcę nie więcej niż 5 procesów naraz w danym momencie, ale w sposób przezroczysty dla kodu wywołującego.
To, co muszę wdrożyć, to funkcja z podpisem
function limitConcurrency(promiseFactory, limit)
mogę to nazwać
spawnProcess = limitConcurrency(spawnProcess, 5);
// use spawnProcess as usual
Zacząłem już pracować nad moją wersją, ale zastanawiam się, czy ktoś ma zwięzłą implementację, którą mogę sprawdzić.