0
我正在尝试Google地图API功能,但似乎没有成功。调用我的函数时,我得到Cannot read property 'then' of undefined
。如何通过goole.maps.places API getPlacePredictions promisify回调?
我试图按照该线程中的例子,但没有运气:Turn callback into promise
回调函数应该是这样的:
predictionService = new google.maps.places.AutocompleteService();
predictionService.getPlacePredictions(
{ input: '1 main street, south bend' },
displayPredictionSuggestionsCallback
);
function displayPredictionSuggestionsCallback(input){
// output results
}
我promisifaction看起来是这样的:
predictionService = new google.maps.places.AutocompleteService();
function getPredictionSuggestion (input){
var dfd = $.Deferred();
predictionService.getPlacePredictions({
input: input
}, function (place, status) {
if (status != google.maps.places.PlacesServiceStatus.OK) {
return dfd.reject("Request failed: " + status);
}
dfd.resolve(place).promise();
});
}
这是调用服务的功能:
getPredictionSuggestion('1 main street, south bend').then(function(results) {
console.log('promise results = ' + results);
}, function(err) {
alert(err);
});