如何缓存来自 HTTP 响应的响应?
how to cache response from HTTP response?
如何在 ionic 3 angular 4 中缓存来自 HTTP 请求的响应或缓存来自拦截器的响应?如果数据发生变化,它会自动调用 API.
方法有很多种,一种是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
if data changed it automatically call API.
这不是 REST API 的工作方式(假设您使用的是 REST)。
您可以通过将请求放入本地存储来自行缓存请求,也可以使用 standard plugin。
这样您仍然可以执行请求,但您首先检查您是否已经在本地拥有数据。如果是这种情况,数据将简单地从本地存储中提取,并且不会执行 HTTP 请求。
如果您真的想要实时更新,您将需要一种服务器端方式让您的客户知道数据已更改,但这是一个完全不同的问题。
如何在 ionic 3 angular 4 中缓存来自 HTTP 请求的响应或缓存来自拦截器的响应?如果数据发生变化,它会自动调用 API.
方法有很多种,一种是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
if data changed it automatically call API.
这不是 REST API 的工作方式(假设您使用的是 REST)。 您可以通过将请求放入本地存储来自行缓存请求,也可以使用 standard plugin。 这样您仍然可以执行请求,但您首先检查您是否已经在本地拥有数据。如果是这种情况,数据将简单地从本地存储中提取,并且不会执行 HTTP 请求。
如果您真的想要实时更新,您将需要一种服务器端方式让您的客户知道数据已更改,但这是一个完全不同的问题。