5

I'm trying to iterate through a list of address and get their lat, lng coordinates via Google Geocoding API. Here is my code using 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);
      })
  })

My issue is that no matter what, I seem to get this error Error: socket hang up and very infrequently Error: read ECONNRESET. I know the individual URLs are valid (if I console.log the URLs and visit them manually I do get the expected response) but when I run my code all I see are errors. I've also tried using the request library and I get the same result. The first several requests work without error, I get the occasional rate limited error, and then the above errors get logged to the console over and over again.

{ 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' }

note: I have payment setup with Google API and I am well below my quota anyway, so I don't think the issue is on their end. I would provide a working example but I would rather not share my api key. Any help is greatly appreciated.

Robbie Milejczak
  • 5,664
  • 3
  • 32
  • 65

0 Answers0