我打算使用$ cacheFactory来缓存客户端的对象以解决问题
一般用例是
客户端可以通过缓存服务请求设备。如果它在$ cacheFactory中可用则返回它。如果它不可用,请从服务器获取它并将其添加到$ cacheFactory并返回它。一切都很好看。
另一个用例是
客户可以请求所有设备。如何返回$ cacheFactory中缓存的所有设备。
我没有看到任何给出类似于Java Map.Entry的键值对的方法。有人可以指出是否有任何方法来迭代$ cacheFactory
答案 0 :(得分:2)
如果您在angularjs docs中查看$cacheFactory
的示例,他们就会按照您的意愿行事......
angular.module('cacheExampleApp', []).
controller('CacheController', ['$scope', '$cacheFactory', function($scope, $cacheFactory) {
$scope.keys = [];
$scope.cache = $cacheFactory('cacheId');
$scope.put = function(key, value) {
if ($scope.cache.get(key) === undefined) {
$scope.keys.push(key);
}
$scope.cache.put(key, value === undefined ? null : value);
};
}]);
在这个控制器中它将键推入一个数组,如果它是有效的,之后在html中只是遍历键数组,就像这样......
<p ng-if="keys.length">Cached Values</p>
<div ng-repeat="key in keys">
<span ng-bind="key"></span>
<span>: </span>
<b ng-bind="cache.get(key)"></b>
</div>