[前端开发Vue]在Axios中,怎么实现实时监听上传数据进度、监听接口返回数据进度、如何终止网络请求。实现上传文件实时进度条以及下载文件实时进度条。
在Axios中实现实时监听上传进度和响应进度,可以通过在请求配置中使用onUploadProgress
和onDownloadProgress
回调函数来实现。
以下是实现实时监听上传进度的示例代码:
const axios = require('axios');
// 创建上传进度监听的函数
function uploadProgressCallback(event) {
if (event.lengthComputable) {
const percentComplete = (event.loaded / event.total) * 100;
console.log(`上传进度: ${percentComplete.toFixed(2)}%`);
}
}
// 发起带有上传进度监听的POST请求
axios.post('你的接口URL', data, {
onUploadProgress: uploadProgressCallback
})
.then(response => {
console.log('上传成功', response);
})
.catch(error => {
console.error('上传出错:', error);
});
对于响应进度的监听,可以类似地使用onDownloadProgress
:
function downloadProgressCallback(event) {
if (event.lengthComputable) {
const percentComplete = (event.loaded / event.total) * 100;
console.log(`下载进度: ${percentComplete.toFixed(2)}%`);
}
}
axios.get('你的接口URL', {
onDownloadProgress: downloadProgressCallback
})
.then(response => {
console.log('下载成功', response);
})
.catch(error => {
console.error('下载出错:', error);
});
请确保你的服务器实现了进度报告,这样客户端才能接收到进度更新。如果服务器不支持进度报告,进度回调函数将不会被调用。
评论已关闭