可以使用 Axios 的 onUploadProgress 和 onDownloadProgress 方法来处理 JSON 数据。这些方法可以分别在文件上传和下载过程中实时获取进度信息,并执行相应的回调函数。
下面是一个使用 Axios 处理 JSON 数据并获取进度的示例代码:
import axios from 'axios';
const url = 'https://example.com/api/data.json';
axios({
method: 'get',
url: url,
responseType: 'json',
onDownloadProgress: function(progressEvent) {
const percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total);
console.log('Download Progress: ' + percentCompleted + '%');
}
}).then(function(response) {
console.log('Response Data:', response.data);
}).catch(function(error) {
console.error('Error:', error);
});
在上述代码中,我们使用 Axios 发起一个 GET 请求来获取 JSON 数据。通过设置 responseType 为 'json',Axios 会自动将服务器返回的数据解析为 JSON 格式。
同时,我们还通过 onDownloadProgress 方法来监听下载进度。在每次进度更新时,回调函数会被触发,并打印当前进度信息。
你也可以使用类似的方式来处理文件上传进度,只需要将请求方法改为 'post' 并设置 onUploadProgress 方法即可。