function ajax({type,url,data,dataType}){
return new Promise(function(resolve){
var xhr=new XMLHttpRequest();
if(type.toLowerCase()=="get"&&data!==undefined)
url+="?"+data;
xhr.open(type,url,true);
xhr.onreadystatechange=function(){
if(xhr.readyState==4&&xhr.status==200){
if(dataType.toLowerCase()!="json")
resolve(xhr.responseText);//将结果作为参数传递出去
else
resolve(JSON.parse(xhr.responseText));
}
}
if(type.toLowerCase()=="post")
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr.send(type.toLowerCase()=="post"?data:null);
})
}
promise
resolve(结果) 这个函数会将结果作为参数传递出去
.then:ajax得到数据后再执行其他数据
因为返回的是一个promise对象,所以调用promise的.then方法。