Javascript Google地图服务的Node.js客户端响应速度慢且不连续
整天我都在试图找出我在使用Node.js Client for Google Maps Services时犯的错误 我需要得到places函数可以返回的所有60个结果。这意味着我必须使用上一个请求返回给我的Javascript Google地图服务的Node.js客户端响应速度慢且不连续,javascript,node.js,google-maps,google-places-api,Javascript,Node.js,Google Maps,Google Places Api,整天我都在试图找出我在使用Node.js Client for Google Maps Services时犯的错误 我需要得到places函数可以返回的所有60个结果。这意味着我必须使用上一个请求返回给我的下一页\u令牌 const googleMapsClient = require( '@google/maps' ).createClient( { key : KEY , Promise : Promise } ); let arr = []; let tok = '';
下一页\u令牌
const googleMapsClient = require( '@google/maps' ).createClient( {
key : KEY
, Promise : Promise
} );
let arr = [];
let tok = '';
Locations.prototype.foo = function ( context, args, callback ) {
let next_page = token => {
googleMapsClient.places( { pagetoken : tok } )
.asPromise()
.then( newResponse => {
// if the request is invalid, retry after 200ms
if ( newResponse.json.status === 'INVALID_REQUEST' ) {
log.info("retrying", TAG);
return setTimeout( next_page, 2000, token );
}
// adding element retrivied
log.info("picking", TAG);
Array.prototype.push.apply( arr, newResponse.json.results );
// if there are no page anymore, return to the callback
if ( newResponse.json.next_page_token == undefined ) {
log.info("callbacking", TAG);
return callback(null, arr);
}
log.info("requesting again", TAG);
// if there are more pages, request again
tok = newResponse.json.next_page_token;
return next_page( tok );
});
};
googleMapsClient.places( {
query : 'restaurant',
language : 'en',
location : [ -33.86746, 151.207090 ],
radius : 5000
} )
.asPromise()
.then( response => {
Array.prototype.push.apply( arr, response.json.results );
tok = response.json.next_page_token;
} )
.then( () => {
next_page( tok );
});
}
我试着看了一下,但不幸的是,我没能得到同样的结果
我的问题是,当我执行GET
请求时,承诺大部分时间都超时。有时结果会很快或在30-45秒后返回
我在这里缺少什么?因为我面临同样的问题,所以有什么改进吗