缓存RxJS HTTP响应

时间:2017-04-26 11:29:49

标签: wordpress angular caching rxjs

我使用RxJS(通过Angular2)从WordPress REST API中检索博客文章。

我已经在Observable上实现了缓存,以获取所有博客文章" (即博客列表)通过这里概述的例子,一切都很好:

http://www.syntaxsuccess.com/viewarticle/caching-with-rxjs-observables-in-angular-2.0

但在检索/缓存各个博客帖子时,我有点卡住了。

目前,一个新的请求被发送到"获取博客帖子由slug"每当需要博客帖子时 - 在这里没有缓存,我想添加一些。

我正在努力的是 - 上述工作适用于所有帖子的个人GET。在这里只有1 Observable。

但是我不确定如何为任意数量的与单独帖子相关的Observable实现它。

对于如何最好地解决这个问题有什么想法吗?

编辑:通过评论中的链接,这有助于我更清楚地解释事情:

const observable = Observable.defer(
    () => actualFn().do(() => this.console.log('CACHE MISS', cacheKey))
  )
  .publishReplay(1, this.RECACHE_INTERVAL)
  .refCount().take(1)
  .do(() => this.console.log('CACHE HIT', cacheKey));

将Observable放入const中对于"获取所有博客帖子"因为它始终是相同的请求。

但是如何为具有任意标识符的获取博客帖子做类似的事情?

我一直在考虑将Observables放入一个以博客帖子标识符为关键字的数组或元组中。但是我在这方面没有太大的经验,所以想要检查一下我是不是错过了用RxJS来解决这个问题的方法 - 无论是那个还是一个完全明显的东西:0

0 个答案:

没有答案