当使用angularjs提供的延迟方法并查询数据库本地存储时,“解析”似乎不起作用。请参阅以下示例。 “然后”行动永远不会被解雇。 当尝试使用setTimeout而不是“Person.all()”指令时,它可以工作。
var defer = $q.deferred();
Person.all().list(null, function (persons) {
defer.resolve(persons);
});
defer.promise.then(function (persons) {
console.log('resolved');
});
感谢您的帮助。
答案 0 :(得分:4)
对于Angularjs的承诺,then
仅在摘要周期中触发。
如果您的Person
对象在您的服务中,则可以注入$rootScope
和
致电$apply()
反对它让then
开火。