使用Promise.all()时如何控制请求频率

时间:2017-04-28 14:32:03

标签: node.js

我需要来自其他网站的一些数据,所以我应该逐个请求网站,我将promises数组放入Promise.all(promises)并快速执行。

但问题是它太快了,所以网站服务器阻止我一段时间,如何在使用Promise.all()时控制请求频率?

以下是我的代码:

(async() => {
  const request = require('request-promise')

  let promises = []
  let i = 10000
  while( i < 0){
    promises.push(new Promise(async(r) => {
      await request({
        uri: 'http://somehost_i_need_the_data/' + i
      })
      r()
    }))
    i++
  }

  await Promise.all(promises)

})()

0 个答案:

没有答案