jmdobry

Stars and mentions

Last 30 days, Oct 5 – Nov 3

GitHub stars0
mentions1
01234Oct 5Oct 19Nov 3
UTC days · repositories jmdobry owns1 repositories

Package downloads

No package download history available yet.

Top repositories

jmdobry’s repositories ranked by pull request authors, as on trending.

Loading

Contributes to

Repositories outside jmdobry’s account where jmdobry opened or reviewed pull requests in the past 365 days.

Who noticed jmdobry

Everyone who starred or forked jmdobry’s repositories since the archive began in 2011.

Notable accounts

Ordered by the stars their own repositories have received.

Biggest fans

Accounts that starred the most of these repositories.

Breakout weeks

Each repository’s best week of new stars, with the release published around it.

Mentions

1post
Nov 40 posts
  1. Angular $http Cache Examples Angular’s built-in $http service and it’s $http.get() method do NOT cache responses by default. There are a few different ways you can enable $http caching, below are some helpful examples of each. These examples are ordered in terms of difficult, beginning with what’s easiest and most common. 1. Built-in $http Cache You can quickly enable caching for the $http service in angularjs by setting the cache config parameter. $http $http.get('/request-url', { cache: true }).then(function success(){ // Success handler }.catch(function error(){ // Error handler }); $resource To add HTTP caching to an Angular.js $resource object add the cache property to the configuration parameters of a given method/action. ngApp.factory( 'API', [ '$resource', function( $resource ) { return $resource( '/api/endpoint', {}, { get: { method : 'GET', cache : true } } ); } ] ); This will cache the response of the AJAX request in your users browser, very similar to the way jQuery would handle caching of $.get() requests. 2. Custom Cache with $cacheFactory If you want more control over what is cached you can transform the objects stored in cache before they are saved, and after they are retreived by passing a $cacheFactory object to the cache paramater instead. For example, let’s say we wanted to implement an LRU Cache. With this approach we store up to 20 cached requests, and let the system remove the least recently used when the cache is full and a new object is referenced which is not there in cache. This can help with larger HTTP requests that are frequently cached throughout an app, which can potentially overload browser memory. Bare Bones Usage var customCache = $cacheFactory.get( 'customCache' ); $http.get('/request-url', { cache: customCache }).then(function success(){ // Success handler }.catch(function error(){ // Error handler }); This does pretty much the same thing as the built-in use of $cacheFactory by the $http service’s cache option, so it’s really not much use right now. What’s important here is that we can define our own custom rules for how the cache is handled to make sure it is done in an efficient way (and one that we can control). Real-world $cacheFactory Usage A better example of where and how you would use these in practice is probably useful here. Let’s say we wanted to implement an LRU Cache, which is a common pattern in Java programming. With this approach we store up to 20 cached requests, and let the system remove the least recently used when the cache is full and a new object is referenced which is not there in cache. This can very helpful when working with larger HTTP requests that are frequently cachgfhed throughout an app, which can potentially overload browser memory. We can do this by setting $cacheFactory’s capacity parameter to define the number of items that is considered “full”. var customCache = $cacheFactory.get('customCache', { capacity: 20 }); $http.get('/request-url', { cache: customCache }).then(function success(){ // Success handler }.catch(function error(){ // Error handler }); That’s a little better, and hopefully it should be a little more apparant why and when you would go through the extra effort of working with Angular’s $cacheFactory instead of using $http cache. 3. localStorage or sessionStorage Caching The cache mechanisms built-in to Angular’s $http and $resource services (provided by $cacheFactory) don’t support the localStorage or sessionStorage Browser API’s. The external Angular-cache module will extend Angular to provide a powerful replacement for $cacheFactory that supports both of these API’s. Usage Scenarios Leveraging localStorage and sessionStorage are handy for scenarios where you need to persist data beyond in-memory storage. This includes: - You want persistant data that extends beyond a browser session (localStorage) - You want persistant data for only a browser session (sessionStorage) - Situations where you want to explicitly control the TTL or expiration for browser cache If you encounter one of these situations then I highly recommend the angular-cache module. Here’s a basic demonstration of how it works, but you should reference the full documentation on GitHub if you decide to work with it. var customCache = $cacheFactory.get('customCache', { capacity: 20 }); $http.get('/request-url', { cache: customCache }).then(function success(){ // Success handler }.catch(function error(){ // Error handler }); 4. Cache Everything $http or $resource There’s one last $http caching scenario that you may be in. If you want to enable Angular’s built-in caching for every $http and $resource request in an app you can add the following config to your app: ngApp.config( [ '$httpProvider', function( $httpProvider ) { $httpProvider.defaults.cache = true; } ] ); Where ngApp is the name of the app you’re currently working on/in. Summary There are many ways to configure angularjs $http cache, the best approach depends entirely on the scenario and needs that you have specifically. In most cases the $http cache will suffice.

Trending awards, every completed day and week
Gold
01st place finishes
Silver
02nd place finishes
Bronze
03rd place finishes
Awarded repositories
0Owned by jmdobry now

No trending awards yet

None of the repositories jmdobry owns has finished in the top three of a completed trending day or week, by stars, forks or PR authors. See who is trending now.

A repository earns an award for finishing first, second or third in a completed trending day or week, ranked by new stars, new forks or pull request authors. Awards follow a repository through renames and transfers and count toward its current owner. Weeks run Monday to Sunday, UTC.