Javascript 嵌套异步函数未及时返回数据的问题
我依赖于一个组件,即需要返回值的函数 不幸的是,我不知道如何在适当的时候从下面的嵌套异步函数(Javascript 嵌套异步函数未及时返回数据的问题,javascript,angularjs,Javascript,Angularjs,我依赖于一个组件,即需要返回值的函数 不幸的是,我不知道如何在适当的时候从下面的嵌套异步函数(addressAutocomplete())返回一些内容: 当addressAutocomplete函数完成时,resultsvar已经返回,它当然是一个空数组 有人能帮忙吗?您需要向chooseAddress的被调用方公开调用是异步的。您可以通过返回一个 将实现更新为 $scope.chooseAddress = function (input) { var deferred = $q.def
addressAutocomplete()
)返回一些内容:
当addressAutocomplete函数完成时,results
var已经返回,它当然是一个空数组
有人能帮忙吗?您需要向
chooseAddress
的被调用方公开调用是异步的。您可以通过返回一个
将实现更新为
$scope.chooseAddress = function (input) {
var deferred = $q.defer();
if (input) {
geolocationService.addressAutocomplete(input, function (data) {
deferred.resolve(data.predictions);
});
} else {
deferred.resolve([]);
}
return deferred.promise;
};
然后调用chooseAddress
like
$scope.chooseAddress(input).then(function(result){
// the result will be available here
});
非常感谢Anzeo!
$scope.chooseAddress(input).then(function(result){
// the result will be available here
});