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状态

 

posted @ 2018-02-08 17:46  百思得其姐  阅读(1047)  评论(0编辑  收藏  举报