angularJs 之deferred
Posted 黑白kn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了angularJs 之deferred相关的知识,希望对你有一定的参考价值。
angularJs 对promise的封装
var deferred = $q.defer();
deferred.promise.then(function(){
var result = {}
cgiSvc.getGameList(result, function () {
$scope.game_list = result.info;
});
},function(result){
})
$timeout(function(){
deferred.resolve()
},100)
then的灵活运用
process_history:function(){
var deferred = $q.defer(); //在方法内声明
var request={};
request.op=‘process_history‘;
gs.post(‘alarm_adapter‘,request,function(ret){
$.each(ret.data,function(k,item){
item.name=item.content;
return item;
})
$scope.process=ret.data;
deferred.resolve(); // ajax成功返回后,执行 resolve操作
if(!$scope.$$phase) {
$scope.$apply();
}
})
return deferred.promise;//类似闭包 返回一个方法内的对象,或方法
},
调用
gs.process_history()
.then(function(){
gs.forbidden();
});
以上是关于angularJs 之deferred的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 .success 和 .error 在 Angularjs 中扩展 $q 承诺