react多个网络请求_为react网络请求提示写一个小插件

网络请求出现的各种提示

import axios from "axios";

import store from "./store.js";

import {setIsLoading} from "./action.js";

import { message } from 'antd';

function get(url,params){

// 开启加载指示器

store.dispatch(setIsLoading(true));

return axios.get(url,{

params

})

.then(res=>{

store.dispatch(setIsLoading(false));

if(res.data.err){

message.error(res.data.msg);

}else{

message.success(res.data.msg);

}

return Promise.resolve(res);

})

.catch(err=>{

store.dispatch(setIsLoading(false));

message.error("网络故障");

})

}

function post(url,params,config){

store.dispatch(setIsLoading(true));

return axios.post(url,params,config)

.then(res=>{

store.dispatch(setIsLoading(false));

if(res.data.err){

message.error(res.data.msg);

}else{

message.success(res.data.msg);

}

return Promise.resolve(res);

})

.catch(err=>{

store.dispatch(setIsLoading(false));

message.error("网络故障");

return Promise.reject(err);

})

}

export {

get,

post

}

action中

function setIsLoading(v){

return {

type:"SET_IS_LOADING",

value:v

}

}

export {

setIsLoading

}

同步action中

function setUserInfo(v){

return {

type:"SET_USER_INFO",

value:v

}

}

异步action一般用于网络请求

import {get,post} from "./http.js"

import {setUserInfo} from "./action.js"

// 登录请求

function queryLogin(params){

return function(dispatch){

return post("/user/login",params)

.then(res=>{

// 异步action请求成功,dispatch到同步antion修改仓库数据

dispatch(setUserInfo(res.data.userInfo));

return Promise.resolve(res);

})

}

}

// 判断是否登录请求

function queryIsLogin(params){

return function(dispatch){

return get("/user/islogin")

.then(res=>{

dispatch(setUserInfo(res.data.userInfo));

return Promise.resolve(res);

})

}

}

export {

queryLogin,

queryIsLogin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值