Estoy enviando datos al servidor con la biblioteca axios
la consulta funciona, pero no puedo esperar la respuesta de 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) }
aquí mi solicitud de publicación (archivo axiosAPI):
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}`));
}
mi consulta de Axios funciona bien y los datos se envían al servidor. Pero no puedo esperar la respuesta del servidor.
console.log('resultado: ' + res)=> (res no está definido -> no espera la respuesta de axios)
console.log('axios: '+respuesta) =>(la respuesta se recibe del servidor)
Sería muy bueno si me ayudan a encontrar una solución para esperar el resultado de axios.
muchas gracias
Puedes usar la await
con axios:
Como esto:
try { let res = await axios.post(formData); console.log('result : ' + res); // no data received } catch(err) { console.log(err); }
y esto:
const 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); } }
Ver también:
Dado que su identificador es asíncrono, debe esperar antes de llamar a axios.
exports.post = async (formData) =>{ return await axios({ method:'post', url:uri + endPoint, data:formData, headers:{ "Content-Type": "Content-Type: multipart/form-data" } })