如何編寫限制Q promise併發性的方法?如何限制Q promise的併發性?
例如,我有一個方法spawnProcess
。它返回一個Q諾言。
我希望一次不會產生超過5個進程,但對調用代碼透明。
我需要實現與簽名
function limitConcurrency(promiseFactory, limit)
一個功能,我可以打電話給喜歡
spawnProcess = limitConcurrency(spawnProcess, 5);
// use spawnProcess as usual
我已經開始在我的版本的工作,但我不知道是否有人具有簡潔的實現我可以檢查。
你的瀏覽器編寫代碼,或者節點?如果是前者,則不存在併發... –
@Matt:我正在寫節點。我並不是說像線程中的併發,我的意思是併發,就像「同時運行的許諾」一樣。 –
你嘗試了什麼?使用等待隊列和緩衝請求不應該太難。 – schlingel