Очередь обещаний / газ

у меня естьзапрос-обещание функция, которая делает запрос к API. Я ограничен в скорости этим API, и я получаю сообщение об ошибке:

Exceeded 2 calls per second for api client. Reduce request rates to resume uninterrupted service.

Я бегу паруPromise.each циклы параллельно, что вызывает проблему, если я запускаю только один экземплярPromise.each все работает нормально. В этихPromise.each вызовы они приводят к одной и той же функции сзапрос-обещание вызов. Я хочу обернуть эту функцию с другойqueue функция и установите интервал500 миллисекунды, так чтоrequest не производится один за другим или параллельно, но устанавливается в это время в очереди. Дело в том, что мне все еще нужны эти обещания, чтобы получить их содержание, даже если для получения ответа требуется довольно много времени.

Есть ли что-нибудь, что сделает это для меня? Что-то, что я могу обернуть в функцию, и она будет отвечать через заданный интервал, а не параллельно или запускать функции одну за другой?

Обновить: Возможно, это должно быть конкретным обещанием, я пытался использовать функцию газа подчеркивания

var debug = require("debug")("throttle")
var _ = require("underscore")
var request = require("request-promise")

function requestSite(){
  debug("request started")
  function throttleRequest(){
    return request({
      "url": "https://www.google.com"
    }).then(function(response){
      debug("request finished")
    })
  }
  return _.throttle(throttleRequest, 100)
}

requestSite()
requestSite()
requestSite()

И все, что я получил, было так:

$ DEBUG=* node throttle.js 
throttle request started +0ms
throttle request started +2ms
throttle request started +0ms

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

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