将ajax封装为promise
/**
* 将ajax封装为promise
*
* @author aolyu
* @created 2020/09/28 19:29:11
*/
const newAjaxBasePromise = (url) => {
return Promise((resolve, reject) => {
let xhr = new XMLHttpRequest()
xhr.open('get', url)
xhr.send()
xhr.onreadystatechange = () => {
// http:4 => 服务端已经把请求数据传送到客户端,可以供其使用
if (xhr.readyState == 4) {
// status:[200, 300) => 请求成功, 304 => 使用缓存
if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304) {
// 请求成功回调
resolve()
} else {
// 请求失败回调
reject()
}
} else {
// 请求未完成处理
console.log('Loadding...')
}
}
})
}