【发布时间】:2021-09-23 21:02:54
【问题描述】:
我正在使用 axios 库向服务器发送数据
查询正在运行,但我无法等待 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)
}
这里是我的帖子请求(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}`));
}
我的 Axios 查询运行良好,数据已发布到服务器。 但是我没有成功等待服务器的响应。
console.log('result : ' + res)=>(res 未定义 -> 不等待 axios 响应)
console.log('axios : ' + response) =>(response is recive from server)
如果你能帮我找到一个等待axios结果的解决方案,那就太好了
非常感谢
【问题讨论】:
-
你的问题是
return response.data。它不是将值返回给post函数,而是返回给thenlambda 函数。您可以改为使用 Promise 解析语法或完全异步等待语法。此处的这种混合搭配会造成混淆并导致不良行为。
标签: javascript