angularjs 同步請求_如何使用AngularJS进行$ http同步调用

我曾与一家工厂集成谷歌地图自动完成和承诺,我希望你服务。

您只需要在出厂前用$ http incuida替换此请求的autocompleteService。app.factory('Autocomplete', function($q, $http) {

和$ http请求var deferred = $q.defer();

$http.get('urlExample').success(function(data, status, headers, config) {

deferred.resolve(data);}).error(function(data, status, headers, config) {

deferred.reject(status);});

return deferred.promise;

#Description

{{$index}}{{direction.description}}
'use strict';

var app = angular.module('myApp', []);

app.factory('Autocomplete', function($q) {

var get = function(search) {

var deferred = $q.defer();

var autocompleteService = new google.maps.places.AutocompleteService();

autocompleteService.getPlacePredictions({

input: search,

types: ['geocode'],

componentRestrictions: {

country: 'ES'

}

}, function(predictions, status) {

if (status == google.maps.places.PlacesServiceStatus.OK) {

deferred.resolve(predictions);

} else {

deferred.reject(status);

}

});

return deferred.promise;};return {

get: get};});app.controller('myController', function($scope, Autocomplete) {$scope.$watch('search', function(newValue, oldValue) {

var promesa = Autocomplete.get(newValue);

promesa.then(function(value) {

$scope.directions = value;

}, function(reason) {

$scope.error = reason;

});

});});

问题本身就是:deferred.resolve(varResult);

当你做得很好并且请求时:deferred.reject(error);

当出现错误时,然后:return deferred.promise;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值