如何从HTTP响应中缓存响应?

时间:2019-09-19 09:09:07

标签: angular ionic-framework ionic3

如何在ionic 3 angular 4中缓存来自HTTP请求的响应或拦截器的响应?如果数据发生更改,它将自动调用API。

2 个答案:

答案 0 :(得分:0)

有很多方法,一种是 IONIC Native HTTP

https://ionicframework.com/docs/native/http

安装

ionic cordova plugin add cordova-plugin-advanced-http
npm install @ionic-native/http

import { HTTP } from '@ionic-native/http/ngx';

constructor(private myhttp: HTTP) {}


    this.myhttp.get('http://ionic.io', {}, {})
      .then(data => {

        console.log(data.status);
        console.log(data.data); // data received by server
        console.log(data.headers);
        ///here is response
      })
      .catch(error => {

        console.log(error.status);
        console.log(error.error); // error message as string
        console.log(error.headers);

      });

或者您可以使用Angular HTTPCLIENT

https://angular.io/guide/http

答案 1 :(得分:0)

  

如果数据更改,它将自动调用API。

这不是REST API的工作方式(假设您正在使用REST)。 您可以通过将请求放入本地存储中来缓存请求,也可以使用standard plugin。 这样,您仍然可以执行请求,但是首先要检查本地是否已有数据。如果是这种情况,将仅从本地存储中提取数据,并且不会执行HTTP请求。

如果您真的想要实时更新,则需要一种服务器端的方式来让您的客户知道数据已更改,但这是一个完全不同的问题。