angularJS中利用promise,$q进行ajax数据定向缓存
2017-10-19 11:55
393 查看
主要解决了封装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;
}
自己针对此问题做的总结 有大佬有更好的想法也可以一起交流
记录便于以后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;
}
自己针对此问题做的总结 有大佬有更好的想法也可以一起交流
相关文章推荐
- AngularJS进阶(三十六)AngularJS项目开发技巧之利用Service&Promise&Resolve解决图片预加载问题(后记)
- 利用angularjs进行分页
- angularjs 利用filter进行表单查询及分页查询
- AngularJS进阶(三十六)AngularJS项目开发技巧之利用Service&Promise&Resolve解决图片预加载问题(后记)
- 利用POI进行Excel的导出
- 如何利用socket进行HTTP访问(转)
- 如何利用软文进行传统企业营销
- Excel在统计分析中的应用—第二章—描述性统计-Part6-利用分析工具进行描述性统计
- 在NodeJS中利用bookshelf.js进行事务(transaction)管理
- 在C#中利用SharpZipLib进行文件的压缩和解压缩
- Day 25: 联合Tornado、MongoDB 和 AngularJS 进行应用开发
- golang---利用反射机制对结构体进行循环赋值
- 利用document.domain来进行基础域名相同的跨域操作
- 利用DOM进行评论的发表与删除
- 利用Google进行无长度限制的文本翻译(无需API,无需Money)
- 利用BeanMap进行对象与Map的相互转换 (在hibernate中 map集合转对象 用得到<重要>)
- 如何利用C#代码来进行操作AD
- 利用Matlab自带的深度学习工具进行车辆区域检测与车型识别【Github更新!!!】(三)
- 利用VSCode进行.Net Core初尝试
- [导入]利用XSL对XML数据进行加密和大小写转换