按照平常理论上这样写一点问题也没问题
但是返回的是undefined
说明onload要等待x资源都加再完成了才能执行
getFileSize(url) {
var x = new XMLHttpRequest();
x.open("GET", url, true);
x.responseType = 'blob';
var fileSize=0
x.onload = () => {
console.log(x.response.size)
fileSize=x.response.size
}
x.send();
return fileSize
}
改进 利用promise的回调
getFileSize(url) {
return new Promise(function (a, b) {
var x = new XMLHttpRequest();
x.open("GET", url, true);
x.responseType = 'blob';
x.onload = () => {
console.log(x.response.size)
a(x)
}
x.send();
})
}
后续所有操作都在这回调里面执行
getFileSize(url).then((res)=>{
“你要操作”
})