我正在尝试遍历地址列表并通过Google地理编码API获取其lat,lng坐标。这是我使用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);
})
})
我的问题是,无论如何,我似乎都会收到此错误Error: socket hang up
并且很少Error: read ECONNRESET
。我知道各个URL是有效的(如果我在console.log中记录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' }
请注意: 我有使用Google API的付款设置,但我还是远低于我的配额,所以我认为问题不在他们的最后。我会提供一个工作示例,但我不想分享我的api密钥。非常感谢任何帮助。