我希望在Axios获取我的请求时显示进度条。
我有以下代码(因为我没有下载,所以它不起作用)。
理想情况下,我想自己编写它; 但如果有人能够解释如何将
axios
包有onDownloadProgress
和onUploadProgress
用于在下载或上传过程中显示进度条,但没有在进行get请求时显示进度条。我搜索了很多问题和文章,但它们总是关于下载/上传进度或适用于Vue.js,并且我不知道如何在React中实现它。我有以下代码(因为我没有下载,所以它不起作用)。
理想情况下,我想自己编写它; 但如果有人能够解释如何将
loadProgressBar()
与我的Axios请求集成,那么我愿意考虑使用axios-progress package。request = () => {
this.setState({error: null, results: []})
axios({
method: 'get',
url: process.env.REACT_APP_API_LOCALS,
responseType: 'json',
onDownloadProgress: (progressEvent) => {
var percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total);
this.setState({
loading: percentCompleted
})
},
})
.then(
(response) => {
console.log(response)
this.setState({
results: response.data.results,
error: null,
totalPages: Math.ceil(response.data.count / response.data.results.length)
})
}
)
.catch(
(error) => {
this.setState({
loading: null,
error: true
})
}
);
}
let percentCompleted = Math.floor(progressEvent.loaded / progressEvent.total * 100)
,因此无需解析和查看头信息。 - modmoto