按照平常理论上这样写一点问题也没问题
但是返回的是undefined
说明onload要等待x资源都加再完成了才能执行
getFileSize(url) {var x = new XMLHttpRequest();x.open("GET", url, true);x.responseType = 'blob';var fileSize=0x.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)=>{
“你要操作”
})