我该怎么做$q.all
但限制同时执行多少个promises?
我的问题就像我如何限制Q promise并发?
我希望一次产生的过程不超过5个
对于另一个问题,接受的答案是为了与Q一起工作而承诺的图书馆.但我特别感兴趣的是Angular的解决方案,而不是.$q
Q
背景:问题正在解决:
我有两个步骤下载的文件:a)获取URL b)下载文件.
浏览器限制了可以同时检索多少文件,因此当直接使用promises时$q.all
会触发所有下载,只有 N会立即发生,例如Chrome中的6,而其余文件会延迟.(请参阅浏览器中的Max并行http连接?)
问题是URL已过期,因此当浏览器执行第 N + 1次 文件下载时,URL不再有效.
所以我想做的事情throttled.all(6, promises)
而不是$q.all(promise)