【问题标题】:Best practice for angular service角度服务的最佳实践
【发布时间】:2014-03-06 21:27:56
【问题描述】:

我有一个关于最佳做法的简单问题。

服务在加载时加载一次。

假设在名为 user 的服务中有一个名为 getUser 的方法。 我必须在几个控制器中调用 getUser。

GET 请求会发生两次,对吧? 是否有一个好的做法来检查数据是否已经被提取以避免第二次调用?

【问题讨论】:

标签: angularjs


【解决方案1】:

是的,调用被执行了两次。您可以使用 Angular 内置的 $http 缓存选项,或者您可以使用现有的模块,如 angular-cache,或其他库,如 Breeze 或 Amplify。您也可以尝试自己处理,这可能是最糟糕的选择。

【讨论】:

  • 谢谢!但有时数据变化和缓存并不是最好的解决方案。在此示例 bit.ly/1o7f1fk 中,您会看到如果 this.busy 为 true,则不会进行后续调用。你认为这是一个好习惯吗?
  • @jamiltz ,该忙标志是检查 $http 调用是否已经在进行中,如果是则不再检索数据。不确定这与您最初的问题有何关系,但在这种情况下,我认为它正在完成,因为可能会同时触发多个滚动事件。
猜你喜欢
  • 1970-01-01
  • 2018-01-03
  • 2023-01-18
  • 2020-08-26
  • 2011-12-16
  • 1970-01-01
  • 2016-06-28
  • 2015-07-26
  • 1970-01-01
相关资源
最近更新 更多