原生 onprogress 事件
XMLHttpRequestEventTarget.onprogress 是在 XMLHttpRequest 完成之前周期性调用的函数。
- 语法
XMLHttpRequest.onprogress = callback;
- 值
callback 在请求完成之前周期性调用的函数。
事件
- event.loaded 已传输的数据量
- event.total 总共的数据量
XMLHttpRequest.onprogress = function (event) {
event.loaded;
event.total;
};
示例 ```javascript var xmlhttp = new XMLHttpRequest(), method = ‘GET’, url = ‘https://developer.mozilla.org/‘;
xmlhttp.open(method, url, true); xmlhttp.onprogress = function () { //do something }; xmlhttp.send();
[MDN相关资料](https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequestEventTarget/onprogress)
<a name="hVsOF"></a>
### axios的进度事件
```javascript
axios({
url: "",
method: "",
data: "",
// ...
// `onUploadProgress` 允许为上传处理进度事件
onprogress(progress) {
console.log(Math.round(progress.loaded / progress.total * 100) + '%');
},
// `onDownloadProgress` 允许为下载处理进度事件
onDownloadProgress: function (progressEvent) {
// 对原生进度事件的处理
},
})