在我的应用程序中,我有一个异步返回缓存值的服务:
.service('StateService', [
'$q',
function ($q) {
var value;
// ...
// ...
function getValue() {
return $q.when(value);
}
// ...
// ...
return {
getValue: getValue
// ...
// ...
};
}
]);
静态变量“value”通过同一服务中的setter更新。
要求让getter getValue()
异步工作 - 这个想法是在将来实现一个id缓存。
在主控制器中,我需要对$watch
进行StateService.getValue()
更改,如果更改了value
则更新范围。
$watch
是否有可能$scope.$watch
承诺(实际上不是资源调用,只是承诺包含的静态值)?
也许通过在每个摘要中展开它们并比较旧的新值?
答案 0 :(得分:1)
不可能,最好的选择是在q中的$ scope中进行$ watch存储服务的价值