angularJS中利用promise,$q进行ajax数据定向缓存

主要解决了封装ajax函数带来的数据处理不便的问题

记录便于以后copy  关键代码如下

首先依赖注入$q,

//调用了封装ajax函数的外层方法,将ajax函数中的返回的data存入$scope.schoolInfoList

$scope.userCollegeInfo=function(){

$scope.schoolInfoList=$scope.getData('/account_user/college')
$scope.schoolInfoList.then(function(data){
$scope.schoolInfoList=data.data
})
}

//封装的ajax函数  主要功能是对接数据,缓存数据

//封装GET方法

$scope.getData=function(url){
var deferred=$q.defer();
        var promise=deferred.promise;
        $http({
          method: 'GET',
                url: apiUrl+url,
                dataType:'json',
                async:false,
                headers :{'client_id' : clientId,'access_token':$scope.token,'accountid':$scope.accountid},
        }).then(function successCallback(data) {
                    console.log(data)
                    deferred.resolve(data);
                    $scope.newData=data.data
                }, function errorCallback(data) {
                console.log('服务器连接失败')
                    deferred.reject()
            });
        return promise;
    }


自己针对此问题做的总结 有大佬有更好的想法也可以一起交流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值