Angular-cache does not support asynchronous operations, and to do so would require considerable work. A feature like this would introduce breaking changes, and I'm not sure if Angular-cache could maintain its API compatibility with $cacheFactory with these changes. For example, cache instantiation would go from synchronous to asynchronous, because the cache won't synchronously be filled with data from localStorage anymore. Loading data from localStorage might have to be moved from the constructor to its own method, so the developer can safely execute code when the cache is "ready". This could break things for a lot of people. Possibly the code could be written to stay synchronous when promises are not returned, but that would be messy.
In lieu of re-writing Angular-cache's internals, might I suggest that you take a look at my new project
Angular-data. Angular-cache is intended solely to be used as a cache, not an interface for real data persistence, though many have tried to adapt it for such use, including myself. That is why I am writing Angular-data, which fully supports asynchronous operations and pluggable adapters so you can retrieve data from any data source you want. Angular-data is intended to provide the abstraction layer necessary for robust and DRY data management. It's still a work in progress, so I would love some feedback.