在前端开发中,可能实现数据申请的形式有很多,如 Ajax、jQuery ajax、axios 和 fetch 等。不过,随着技术的倒退,当初可能看到的基本上也就 axios 和 fetch 两种。
axios 是一个基于 Promise 的 Http 网络库,可运行在浏览器端和 Node.js 中,Vue 利用的网络申请根本都是应用它实现的。axios 有很多优良的个性,如反对申请的拦挡和响应、勾销申请、JSON 主动转换、客户端进攻 XSRF 等。
应用 axios 之前,须要先在我的项目中装置 axios 插件,装置命令如下。
//npm
npm install axios –save
//yarn
yarn add react-native-axios
作为一款优良的网络申请库,axios 反对根本的 GET、POST、DELET 和 PUT 等申请。比方,应用 axios 进行 GET 申请时就能够应用 axios.get()办法和应用 axios(config { …})两种形式,如下所示。
axios.get(‘/getData’, {
params: {id: 123}
}).then(function (response) {
console.log(response);
})
axios({
method: ‘GET’,
url: ‘/getData’,
params: {
id: 123,
}
}).then(function (response) {
console.log(response);
});
能够看到,如果间接应用 axios 进行网络申请会产生大量的冗余代码,所以在理论开发过程中,还须要对 axios 申请进行一些封装,以不便前期的应用,如下所示。
能够看到,如果间接应用 axios 进行网络申请会产生大量的冗余代码,所以在理论开发过程中,还须要对 axios 申请进行一些封装,以不便前期的应用,如下所示。
const request = axios.create({
transformResponse: [
function (data) {
return data;
const defaultOptions = {// 解决默认配置
url: ”,
userAgent: ‘BIZSTREAM Library’,
authentication: {
integration: {
access_token: undefined,
class Bizstream {
init(options) {
this.configuration = {...defaultOptions, ...options};
this.base_url = this.configuration.url;
this.root_path = '';
}
post(path, params, data, type = ADMIN_TYPE) {
return this.send(path, 'POST', params, data, type);
}
get(path, params, data, type = ADMIN_TYPE) {
return this.send(path, 'GET', params, data, type);
}
send(path, method, params, data, type, headersOption) {
const url = `${this.base_url}${this.root_path}${path}`;
const headers = {
'User-Agent': this.configuration.userAgent,
'Content-Type': 'application/json',
...headersOption,
};
return new Promise((resolve, reject) => {request({url, method, headers, params, data}).then(response => {
…. // 解决返回后果
export const bizStream = new Bizstream();
通过封装解决后,进行网络申请的时候就不便了许多,并且对于一些通用的返回后果咱们也在网络层进行了解决。理论应用时,开发者只须要依照要求传入须要的参数,而后再通过异步函数解决返回的后果即可,如下所示。
//GET 申请
const hotMovie=”;
const data = await apiRequest.get(hotMovie);
//POST 申请
let baseUrl = ”;
let param = {
pageNumber: 0,
cityCd: 31,
};
const data = await apiRequest.post(baseUrl, param);
到此这篇对于对于 React Native 应用 axios 进行网络申请的办法的文章就介绍到这了, 更多相干 React Native 网络申请内容请搜寻三水点靠木以前的文章或持续浏览上面的相干文章心愿大家当前多多反对三水点靠木!