AngularJS数据服务模式的最佳方法是什么?

时间:2017-05-10 14:34:02

标签: angularjs caching angular-promise

我有很多控制器的大应用程序。我将PaymentService注入这些控制器,以获得单点数据源。 PaymentService通过使用角度$http服务询问远程服务器来获取数据。

控制器可以随机顺序和随机时间点询问PaymentService数据。我想要以下功能:

  1. 要求数据的第一个控制器获得未解决的承诺
  2. 任何要求数据的下一个控制器都会: 2.1尚未解决的承诺来自第1页 2.2或......已解决的缓存数据承诺(如果承诺已经解决)
  3. 棘手的部分是另一个控制器可以更新我的PaymentService中的数据,所以如果我只缓存承诺,那么已解决的承诺中的数据不会更新。

    我找到了缓存数据或缓存承诺的示例,但是:

    1. 缓存承诺模式 - 缺少解决方案,因为另一个控制器更新了已解决的承诺中已获取和缓存的数据
    2. 缓存数据模式 - 有缺陷,当第二个控制器在缓存数据之前请求数据时,会创建第二个promise和第二个数据请求。
    3. 我想出的解决方案https://jsfiddle.net/kj3mwpvr/2/(专注于getBalance())似乎太复杂了,我想要为这种情况寻求最佳(或更简单的模式)?

0 个答案:

没有答案