可以监控下载进度的xhr下载方法
download(options = {}) {
const {
url,
method = 'GET',
onProgress,
data = null
} = options
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
xhr.addEventListener('readystatechange', () => {
if (xhr.readyState === xhr.DONE) {
console.log('下载完成');
resolve(xhr)
}
})
xhr.addEventListener('progress', (e) => {
console.log(e.loaded, e.total);
onProgress && onProgress({
loaded: e.loaded,
total: e.total
})
})
xhr.open(method, url)
xhr.send(data)
})
}
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。