angularjs异步处理 $q.defer()

时间:2022-12-02 20:33:50

看别人的项目中有用到

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