我想为一个承诺设置一个超时时间。
错误信息 :
Status is OVER_QUERY_LIMIT. You have exceeded your rate-limit for this API.
所以,要每秒执行一次 API,我需要在 Promise 中设置一个超时时间。但是在我下面的代码中它不起作用......
我的代码:
CoordinateModel.findAll().then(function(findedCoordinates) {
var promises = [];
promises = findedCoordinates.map(function(coordinate) {
return new Promise(function() {
setTimeout(function() {
return geocoder.geocode(coordinate.address + ' ' + coordinate.postcode + ' ' + coordinate.city + ' ' + coordinate.complementaryAddress).then(function(res) {
return coordinate.update({
lng: res[0].longitude,
lat: res[0].latitude
}).then(function() {
console.log(coordinate.name + ' : ' + res[0].longitude + ',' + res[0].latitude);
return Promise.resolve();
});
}).catch(function(err) {
console.log(err);
return Promise.reject();
});
}, 1000);
});
});
Promise.all(promises).then(function() {
console.log('------ END ------');
});
});
萧十郎
慕桂英4014372
相关分类