Wie schreibe ich eine Methode, die Q-Versprechen Nebenläufigkeit begrenzt? Zum Beispiel habe ich eine Methode spawnProcess
. Es gibt ein Q-Versprechen zurück.
Ich möchte nicht mehr als 5 Prozess zu einer Zeit, aber transparent für den aufrufenden Code erstellt.Wie kann ich die Parallelität von Q-Versprechen begrenzen?
Was muss ich implementieren eine Funktion mit Unterschrift
function limitConcurrency(promiseFactory, limit)
, die ich anrufen kann wie
spawnProcess = limitConcurrency(spawnProcess, 5);
// use spawnProcess as usual
begann ich schon auf meiner Version arbeiten, aber ich frage mich, ob jemand eine kurze Einführung hat gegen die ich nachprüfen kann.
Sie Code für den Browser zu schreiben sind, oder für Knoten? Wenn es der ehemalige ist, gibt es keine Nebenläufigkeit ... –
@Matt: Ich schreibe für den Knoten. Ich meine nicht Nebenläufigkeit wie im Threading, ich meine Nebenläufigkeit wie in "Versprechungen, die zur gleichen Zeit laufen". –
Was hast du probiert? Die Verwendung einer Warteschlange und die Pufferung von Anfragen sollten nicht zu schwer sein. – schlingel