【发布时间】:2016-04-05 08:34:40
【问题描述】:
正如演示所示,当我在服务中定义我的承诺并将其返回(演示中的promise1)时,它根本没有解决。
但是当我在控制器中定义promise(demo中的promise2)时,效果很好。为什么?
serv.getDefer = function() {
var defer = $q.defer();
return {
defer: defer,
promise: defer.promise
}
}
var defer1 = serv.getDefer().defer;
var promise1 = serv.getDefer().promise;
promise1.then(function() {
alert('promise1 should work,but doesnt')
})
defer1.resolve();
var defer2 = serv.getDefer().defer;
var promise2 = defer2.promise;
promise2.then(function() {
alert('promise2 works good')
})
defer2.resolve();
【问题讨论】:
标签: javascript angularjs asynchronous promise q