用$ http和$ resource异步$ cacheFactory

摩根ARR艾伦

我正在尝试使用$ cacheFactory在$ resource之上实现异步缓存。

在$ http源中浏览它似乎支持从缓存返回promise。我假设在那之后,我可以简单地用缓存数据解决promise或拒绝它,然后让$ http做它的事情,然后将数据放回缓存中。问题是..我只是不工作。$ http实际上支持诺言吗?

https://github.com/angular/angular.js/blob/master/src/ng/http.js#L895

  if (cache) {
    cachedResp = cache.get(url);
    if (isDefined(cachedResp)) {
      if (isPromiseLike(cachedResp)) {
        // cached request has already been sent, but there is no response yet
        cachedResp.then(removePendingReq, removePendingReq);
        return cachedResp;
      } else {
        // serving from cache
        if (isArray(cachedResp)) {
          resolvePromise(cachedResp[1], cachedResp[0], shallowCopy(cachedResp[2]), cachedResp[3]);
        } else {
          resolvePromise(cachedResp, 200, {}, 'OK');
        }
      }
    } else {
      // put the promise for the non-transformed response into cache as a placeholder
      cache.put(url, promise);
    }
  }

这是$ http处理缓存的地方,如您所见,它确实检查了诺言是否正在返回(第898行)。但是看来,解决或拒绝都只是从挂起队列中清除请求。如何实际发送数据或单个$ http继续请求?

这是关于我要完成的工作的简要说明。

http://plnkr.co/edit/TwXumrAunG9b5JKo5OlB?p=preview

摩根ARR艾伦

AngularJS中有一个错误。在解析(或拒绝)从缓存$ http的承诺返回时,不会以任何方式处理数据。

相关错误https://github.com/angular/angular.js/pull/6534

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Async $cacheFactory with $http and $resource

来自分类Dev

$ resource未利用缓存参数/ $ cacheFactory

来自分类Dev

什么是$ cacheFactory?

来自分类Dev

用异步和包含模拟EF

来自分类Dev

本地存储与AngularJS $ cacheFactory

来自分类Dev

AngularJS put an array in $cacheFactory

来自分类Dev

查询AngularJS的$ cacheFactory值

来自分类Dev

AngularJs如何过滤$ cacheFactory

来自分类Dev

角$ cacheFactory如何工作?

来自分类Dev

用NestJS和异步功能开玩笑

来自分类Dev

http:// example / resource#和http:// example / resource是否等效?

来自分类Dev

AngularJS cacheFactory:ID已经被使用

来自分类Dev

如何测试有角$ cacheFactory?

来自分类Dev

Angularjs cacheFactory : id is already taken

来自分类Dev

$ cacheFactory + API调用:更新缓存

来自分类Dev

用异步方法选择

来自分类Dev

截取$ resource和$ http响应角度

来自分类Dev

拦截$ resource和$ http响应角度

来自分类Dev

GWT如何像Play!Framework中那样用Http Promise做异步响应

来自分类Dev

用异步I / O和IOCP实现回显服务器的最佳方法是什么?

来自分类Dev

用bash异步消耗管道

来自分类Dev

用wrapAsync陷入异步循环

来自分类Dev

用jQuery异步自动完成

来自分类Dev

在服务中使用cacheFactory进行CRUD

来自分类Dev

在Angular $ cacheFactory中缓存多个数据?

来自分类Dev

如何从$ cacheFactory收集所有对象

来自分类Dev

在Angular $ cacheFactory中缓存多个数据?

来自分类Dev

角度CacheFactory没有设置任何值

来自分类常见问题

Java和/或Spring Boot中的并发异步HTTP请求