Wie kann ich die gleichzeitige Nutzung von Q-Versprechen begrenzen?

Wie schreibe ich eine Methode, die die gleichzeitige Verwendung von Q-Versprechen einschränkt?

Zum Beispiel habe ich eine MethodespawnProcess. Es gibt ein Q-Versprechen zurück.
Ich möchte nicht mehr als 5 Prozesse gleichzeitig erzeugen, aber transparent für den aufrufenden Code.

Was ich implementieren muss, ist eine Funktion mit Signatur

function limitConcurrency(promiseFactory, limit)

das kann ich gerne nennen

spawnProcess = limitConcurrency(spawnProcess, 5);

// use spawnProcess as usual

Ich habe bereits begonnen, an meiner Version zu arbeiten, aber ich frage mich, ob jemand eine präzise Implementierung hat, mit der ich vergleichen kann.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage