全栈:Promise封装Ajax()

使用Promise封装Ajax

function  myaxios (url) {
//创建一个promise对象
    var p1=new Promise(function(n1,n2){
//Ajax
        var xhr=new XMLHttpRequest()
        xhr.open("GET",url,true)
        xhr.send()
        xhr.onreadystatechange=function(){
            if(xhr.readyState==4&&xhr.status==200){
                 n1(xhr.responseText)
            }else if(xhr.readyState==4&&xhr.status==404){
                 n2(xhr.responseText)
            }
            }
        })
    return p1//返回的也是promise对象
}

使用此promise封装的Ajax工具

function fn(){
                var url="http://192.168.10.4:8080/ajax"
                myaxios(url).then((res)=>{
                    console.log(res)//调试结果
                })
                
            }
————————

使用Promise封装Ajax

function  myaxios (url) {
//创建一个promise对象
    var p1=new Promise(function(n1,n2){
//Ajax
        var xhr=new XMLHttpRequest()
        xhr.open("GET",url,true)
        xhr.send()
        xhr.onreadystatechange=function(){
            if(xhr.readyState==4&&xhr.status==200){
                 n1(xhr.responseText)
            }else if(xhr.readyState==4&&xhr.status==404){
                 n2(xhr.responseText)
            }
            }
        })
    return p1//返回的也是promise对象
}

使用此promise封装的Ajax工具

function fn(){
                var url="http://192.168.10.4:8080/ajax"
                myaxios(url).then((res)=>{
                    console.log(res)//调试结果
                })
                
            }