Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将本地数据与角度资源一起使用_Javascript_Database_Angularjs - Fatal编程技术网

Javascript 将本地数据与角度资源一起使用

Javascript 将本地数据与角度资源一起使用,javascript,database,angularjs,Javascript,Database,Angularjs,我的angular应用只需要在加载应用程序时从服务器获取一次数据,然后仅与服务器通信以覆盖数据。有没有推荐的方法来实现这一点 到目前为止,我正在使用$resource.query获取初始数据集,将资源存储在服务中,我认为现在需要覆盖GET操作,但不确定如何抑制其与服务器的通信 我还有另一个名为getLatest的web服务,它执行大量服务器端工作来获取额外的记录,然后需要将这些记录附加到缓存的资源中。我该怎么做呢?我曾考虑过以某种方式从检索到的数据手动创建资源实例,或者在getLatest调用返

我的angular应用只需要在加载应用程序时从服务器获取一次数据,然后仅与服务器通信以覆盖数据。有没有推荐的方法来实现这一点

到目前为止,我正在使用
$resource.query
获取初始数据集,将资源存储在服务中,我认为现在需要覆盖GET操作,但不确定如何抑制其与服务器的通信


我还有另一个名为
getLatest
的web服务,它执行大量服务器端工作来获取额外的记录,然后需要将这些记录附加到缓存的资源中。我该怎么做呢?我曾考虑过以某种方式从检索到的数据手动创建资源实例,或者在getLatest调用返回后可能触发一个新的(未缓存的)资源查询(尽管这对我来说效率很低)

您可以使用缓存和
缓存:true

.factory('Data', function($resource){
      return $resource('http://some.url.of.api', {}, {
        'get' : { method:'GET', cache: true }
      });
    })

或者,您可以实现自己的缓存工厂。阅读AngularJS文档中的更多信息:

@tschiela是正确的,您可以在资源上使用
cache
属性来缓存资源。 但您应该了解缓存失效策略

  • 什么时候应该引用缓存
  • 服务器数据更新时会发生什么情况
  • 对于缓存的任何内容,您都能忍受数据的不一致性吗
  • 我不确定,但标准实现
    $http
    服务缓存是否符合
    http过期标头
    (如果有)

总体而言,基于服务器的HTTP过期标头是提供缓存的最佳方式,因为服务器上有更多的控制,大多数浏览器都支持GET请求。

这一点很好,尽管对于我当前的需要(仅限我使用的应用程序),数据一致性不应该是一个问题。这是一个很好的答案,尽管我在发布后不久就编辑了这个问题。你能帮我回答问题的第二部分吗?