我尝试创建一个全局函数来处理axios请求,例如post
get
delete
put
,因此我创建了一个名为requests.js
的文件,例如,对于post
请求,我创建了一个名为post()
的函数
import axios from 'axios';
export const post = async (url, data, config) => {
axios.post(url, data, config).then((result)=>{
return result;
}).catch((error) => {
return error;
});
}
所以现在我想在任何地方调用post
请求时使用这个函数而不是直接的axios post调用,例如在data.js中:
import {post} from './requests'
export const postMembersData = (url, data) => {
return post(url, data);
};
export const postCarsData = (url, data) => {
return post(url, data);
};
我在index.js中调用postMembersData
函数:
const postMembersDataApi = async() => {
await postMembersData(url, data).then((res)=>{
console.log(res); // handle data for view
}).catch((error)=>{
console.log(error); // handle errors for alert or etc
});
}
一切看起来都很好,但有一个问题,当我得到错误,如500或400等,它仍然返回res
而不是error
在另一方面,它不会返回错误,我做错了什么?
1条答案
按热度按时间dxxyhpgq1#
尝试在
return
中运行axios正确返回结果和错误,但返回到
post
函数作用域,此函数返回undefined。您需要返回从axios返回的内容,以便从post
函数返回。