套接字使用 axios 挂断或请求从谷歌地理编码 api 获取数据

Rob*_*zak 5 javascript asynchronous request google-geocoding-api axios

我正在尝试遍历地址列表并通过 Google Geocoding API 获取它们的经纬度坐标。这是我使用 axios 的代码

  list.forEach((item) => {
    item.address = item.address.replace(/\s{1}/g, '+');
    axios.get(`https://maps.googleapis.com/maps/api/geocode/json?address=${item.address}&key=${key}`)
      .then((result) => {
        res.push(result);
      })
  })
Run Code Online (Sandbox Code Playgroud)

我的问题是,无论如何,我似乎Error: socket hang up很少遇到此错误Error: read ECONNRESET。我知道各个 URL 是有效的(如果我对 URL 进行控制台记录并手动访问它们,我确实会得到预期的响应)但是当我运行我的代码时,我看到的都是错误。我也试过使用请求库,我得到了相同的结果。前几个请求工作没有错误,我偶尔会遇到速率限制错误,然后上述错误一遍又一遍地记录到控制台。

{ Error: socket hang up
    at TLSSocket.onHangUp (_tls_wrap.js:1130:19)
    at Object.onceWrapper (events.js:314:30)
    at emitNone (events.js:110:20)
    at TLSSocket.emit (events.js:207:7)
    at endReadableNT (_stream_readable.js:1047:12)
    at _combinedTickCallback (internal/process/next_tick.js:102:11)
    at process._tickDomainCallback (internal/process/next_tick.js:198:9) 
code: 'ECONNRESET' }
Run Code Online (Sandbox Code Playgroud)

注意:我使用 Google API 进行了付款设置,无论如何我都远远低于我的配额,所以我认为问题不在他们的尽头。我会提供一个工作示例,但我宁愿不共享我的 api 密钥。任何帮助是极大的赞赏。