angularjs异步处理 $q.defer()

Posted vindycxy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了angularjs异步处理 $q.defer()相关的知识,希望对你有一定的参考价值。

看别人的项目中有用到

var def = $q.defer()返回一个deferred异步对象def

当代码逻辑遇到

def.resolve(rtns);

deferred状态为执行成功,返回rtns为从后台取到的数据,可以继续执行def.then(),def.done()

deferred.reject(data);

执行到这里时,改变deferred状态为执行失败,返回data为报错,可以继续执行def.fail()

return deferred.promise;

\\起到保护作用,不允许函数外部改变函数内的deferred状态

 

以上是关于angularjs异步处理 $q.defer()的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS $q 异步执行函数服务(延迟执行)

angularJS $q

如何使用 .success 和 .error 在 Angularjs 中扩展 $q 承诺

angularjs解决方案之 子表添加初始化值

AngularJS $q 和 $q.all 单个数据源和多个数据源合并(promise的说明)

使用 Q 用异步调用填充数组