Используйте шаблон водопада без библиотеки и используйте условие гонки, чтобы разрешить на каждой итерации с помощью Reduce. И вы можете ограничить количество вызовов, указав длину массива в Array.from.

я есть 1000 записей, которые должны попасть в конечную точку API с ограниченной скоростью. Я хочу сделать так, чтобы в каждый момент времени на URL приходилось всего 5 вызовов, чтобы я не делал 1000 запросов одновременно. Как я могу это сделать? У меня есть следующее:

var Promise = require("bluebird");
var geocoder = Promise.promisifyAll(require('geocoder'));
var fs = require('fs');
var async = require('async');
var parse = require('csv-parse/lib/sync');
var inputFile = './myaddresses.txt'
var file = fs.readFileSync(inputFile, "utf8");

var records = parse(file, {columns: true});
var promises = [];
for(var i = 0; i < records.length; i++) {
    var placeName = records[i]['Place Name'];
            promises.push(geocoder.geocodeAsync(placeName));    
}

Promises.all(promises).then(function(result) {
  result.forEach(function(geocodeResponse) {
  console.log(geocodeResponse);
  })
}

Ответы на вопрос(1)

Ваш ответ на вопрос