I'am sending data to server with axios library
the query is working, but i'am not able to wait the answer of axios
import axios from '../helper/axiosAPI'
/** data send to axios */
let formData = new FormData();
formData.append('file',this.file);
/**Axios query */
try{
axios.post(formData)
.then(res=> console.log('result : ' res)) // no data recieve
}
catch(err){
console.log(err)
}
here my post request (axiosAPI file):
axios = require('axios').default;
const uri = process.env.VUE_APP_URI;
const endPoint = 'professional/upload'
exports.post = async (formData) =>{
axios({
method:'post',
url:uri endPoint,
data:formData,
headers:{
"Content-Type": "Content-Type: multipart/form-data"
}
})
.then(response => {
console.log('axios : ' response) // response is recieved
return response.data })
.catch(err => console.log(`Erreur AXIOS API : ${err}`));
}
my Axios query work well and data is post to server. But i am not succed to wait the reponse from the server.
console.log('result : ' res)=> (res is undefined -> not waiting for axios response)
console.log('axios : ' response) =>(response is recieve from server)
It will be very nice if you help me to find a solution to wait axios result
thanks a lot
CodePudding user response:
You can use the await
with axios:
Like this:
try
{
let res = await axios.post(formData);
console.log('result : ' res); // no data received
}
catch(err)
{
console.log(err);
}
and this:
axios = require('axios').default;
const uri = process.env.VUE_APP_URI;
const endPoint = 'professional/upload';
exports.post = async (formData) =>{
try
{
let response = await axios(
{
method: 'post',
url: uri endPoint,
data: formData,
headers:
{
"Content-Type": "Content-Type: multipart/form-data"
}
}
);
console.log('axios : ' response); // response is received
return response.data;
}
catch (err)
{
console.log(err);
}
}
See also: https://stackoverflow.com/a/49661388/194717
CodePudding user response:
Since your handle is async so you need to put await before axios calling.
exports.post = async (formData) =>{
return await axios({
method:'post',
url:uri endPoint,
data:formData,
headers:{
"Content-Type": "Content-Type: multipart/form-data"
}
})