首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngualrJS:对所有请求使用一个XHR调用

AngualrJS:对所有请求使用一个XHR调用
EN

Stack Overflow用户
提问于 2015-10-09 17:12:40
回答 1查看 35关注 0票数 0

我有一个.service(),其中定义了我的webApp可以用来(通过$http)调用REST API服务器的所有函数。现在我有了一个页面/路由,其中我的.service()中的一个函数被调用了2-3次,这将创建2-3个对REST API的相同请求。这是我的函数:

代码语言:javascript
复制
getCities: function (redazionale) {
            return $http({method : 'get',
                url : urlwS+'/API/URL',
                headers : { 'X-CSRF-Token' : ipCookie('csrftoken')},
                data : { 'redazionale' : redazionale,'active' : 1 },
                cache: false
            })
        },

有没有可能只通过$http执行一次调用,然后为所有其他调用返回$http promise?

谢谢。

M.

EN

回答 1

Stack Overflow用户

发布于 2015-10-11 02:59:46

是的,当然。promise让缓存变得极其简单--只需保留promise:

代码语言:javascript
复制
    var cachedCities = null;

    getCities: function (redazionale) {
        return cachedCities || (cachedCitices = $http({method : 'get',
            url : urlwS+'/API/URL',
            headers : { 'X-CSRF-Token' : ipCookie('csrftoken')},
            data : { 'redazionale' : redazionale,'active' : 1 },
            cache: false
        }));
    },

这将在第一个请求的promise中存储数据,然后所有后续调用都将使用缓存的数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33034341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档