У меня есть 1000 запросов HTTP API, которые нужно сделать. Я сдержал их все как обещания в массиве. Я хочу выполнять их «ПАКЕТАМИ» из 100 за раз - не более того, чтобы избежать ограничения скорости / дросселирования API и т. Д.
Хотя bluebirdJS предоставляет функцию .map()
с параметром concurrency
, он ограничивает количество звонков, сделанных ЗА ВРЕМЯ. Это означает, что одновременно обрабатывается не более 100 одновременных запросов - как только первый запрос будет разрешен, он начнет обрабатывать 101-й запрос - он не ждет, пока все 100 разрешатся, прежде чем начинать с следующие 100.
Я ищу поведение "BATCHING" - сначала обработать 100 запросов, а ТОЛЬКО ПОСЛЕ всех 100 запросов выполнены, он должен начаться со следующих 100 запросов.
Предоставляет ли BlueBirdJS какой-либо API из коробки для обработки пакетов таким образом?
Promise.all
внутриPromise.each
do? - person Prasanna   schedule 31.08.2017