如何在ionic 3 angular 4中缓存来自HTTP请求的响应或拦截器的响应?如果数据发生更改,它将自动调用API。
答案 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
答案 1 :(得分:0)
如果数据更改,它将自动调用API。
这不是REST API的工作方式(假设您正在使用REST)。 您可以通过将请求放入本地存储中来缓存请求,也可以使用standard plugin。 这样,您仍然可以执行请求,但是首先要检查本地是否已有数据。如果是这种情况,将仅从本地存储中提取数据,并且不会执行HTTP请求。
如果您真的想要实时更新,则需要一种服务器端的方式来让您的客户知道数据已更改,但这是一个完全不同的问题。