- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我是 Angular 的新手,我需要缓存数据以提高性能。为此,我使用 $cacheFactory通过 Angular。
当我尝试时,
myApp.factory('myCache', function($cacheFactory) {
return $cacheFactory('myData');
});
与
myApp.controller('MyMain', ['$scope', '$http', 'myCache',
function ($scope, $http, myCache) {
var cache = myCache.get('myData');
if (cache) {
$scope.variable = cache;
}
else {
$http.get('http://www.example.com/path/to/api/endpoint')
.success(function(data) {
$scope.variable = data;
myCache.put('myData', data);
}
);
}
}
这很好用,但它只缓存了一组数据,因为我想缓存我使用的多组数据
myApp.factory('myCache', function($cacheFactory) {
return {
get : function(cacheKey){
return $cacheFactory(cachekey);
}
}
});
所以如果我转到另一个页面,我可以像这样缓存另一组数据,
myApp.controller('MyMain', ['$scope', '$http', 'myCache',
function ($scope, $http, myCache) {
var cache = myCache.get('myData2');
if (cache) {
$scope.variable = cache;
}
else {
$http.get('http://www.example.com/path/to/api/endpoint')
.success(function(data) {
$scope.variable = data;
myCache.put('myData2', data);
}
);
}
}
等等
然而,在后一种方式中,虽然它没有给出任何错误,但没有返回数据,也没有进行 ajax 调用来缓存数据。
我该如何解决这个问题?并使用$cacheFactory缓存多组数据?
最佳答案
如果您的 URL 对于您正在查询的数据是唯一的,那么您应该使用 $http
中的内置缓存:
$http.get('http://www.example.com/path/to/api/endpoint', { cache: true }).success(...
这将根据 cacheProvider
中 URL 参数的唯一性为您进行缓存。
关于javascript - 在 Angular $cacheFactory 中缓存多个数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27602993/
我们使用 $cacheFactory 一次性获取一些配置和用户数据喜欢 var cache = $cacheFactory("Temp"); var getCachedData = funct
我找不到任何关于 $cacheFactory 到底是什么以及它如何在您的应用程序中发挥作用的信息。 Angular 文档说 "Factory that constructs cache objects
我使用 $cacheFactory 在我的应用程序中添加了缓存,但是当用户关闭浏览器然后重新打开时,有关浏览产品的缓存数据已过期。 有什么办法可以让它变长吗?放一个到期日期或类似的东西? 谢谢。 编辑
我有一个存储大量客户端数据的问题,我无法决定哪种方式更好。现在我正在使用 AngularJS 的 cacheFactory,它工作正常,但所有数据都会在新 session 中重新加载。值得使用本地存储
我阅读了有关 Angular '$cacheFactory' 的内容,但找不到任何有关为缓存内容设置到期日期的文档。 如果我想将所有 GET 请求缓存 30 秒,如何在“$cacheFactory”中
所以我们以这种方式缓存下拉资源模块中的下拉值 var cache = new CacheFactory('DropDownResource', { maxAge: 3600000,
我想为应用程序创建原型(prototype),但不想调用其余服务来检索数据。为此,我想在服务(缓存)中创建我的对象并使用这些服务来显示对象。 我会在服务中使用 CacheFactory,对于每个 cr
我知道在 npm/bower 上还有另一个名为 angular-cache 的库。但是添加一个新库是我工作的一个过程。所以我想使用 $cacheFactory 或核心 Javascript 函数来解决
在 View 之间切换以及在 Controller 之间共享的服务上缓存请求时如何保持页面状态? 我有两种看法: $routeProvider.when('/', {templateUrl: 'vie
我已将 Angular 缓存添加到我的应用程序,并创建了我的项目,如下所示: angular.module('rotaryApp', ["ionic", "angular-cache"]) .run(
我试图在 AngularJS 的 $cacheFactory 中存储一个数组。当我尝试获取数组时,它返回未定义。 这是我的代码: angular.module('cacheExampleApp',
每当我尝试运行这个 plunkr 代码时,它都会抛出错误(请参阅控制台日志)。 http://plnkr.co/edit/I0FsK2S30gfNUhlkKwcB?p=preview 我尝试在此处设置
我是 Angular 的新手,我需要缓存数据以提高性能。为此,我使用 $cacheFactory通过 Angular。 当我尝试时, myApp.factory('myCache', function
当我列出 $cacheFactory 对象时,它有几种方法,但我没有看到实际的键/值缓存。 假设您正在查看 $http 缓存, $cacheFactory($http) 如何获取键列表或理想情况下当前
我将数据存储到 $cacheFactory,如下所示: $scope.loginCache = $cacheFactory.get('login') || $cacheFactory('login
我已经正确设置 Restangular 以通过以下方式缓存我的 http 请求: Restangular.withConfig(function(RestangularConfigurer) {
我正在尝试使用 $cachefactory在我的 Angular 项目中。 我创建了一个缓存服务: 服务.js var AppServices = angular.module('Test.servi
我们有一个多线程应用程序,该应用程序大量使用 Oracle Coherence 3.5 L1/L2 缓存(1k 请求/秒),其中性能至关重要... 我需要同步对 CacheFactory.getCac
我正在尝试使用 $cacheFactory 在 $resource 之上实现异步缓存。 在 $http 源码中查找它似乎支持从缓存中返回 promise 。我会假设在那之后我可以简单地用缓存数据解决
我正在尝试将使用 1.1 版企业库缓存 block 的应用程序转换为 2.0 版。我认为我真正遇到问题的地方是不同 EntLib 部分的配置被拆分成几个文件。显然,这过去由 Configuration
我是一名优秀的程序员,十分优秀!