14.异步函数

异步函数 promise(fn(resolve,reject){})

函数传入两个参数  

resolve为执行成功返回的内容   

reject 为函数执行失败返回的内容  

Promise有几种方法启动   

1.p.then()

2.p.rece([很多P]) 只要有一个成功停止启动了

3.p.then()  回调函数  传两个参数 成功的和失败的函数 

             或者传一个参数成功 在后面.catch(fn)   表示失败的函数

 

var getRequestResult = function(urls){
    return new Promise(function(resolve,reject){
        xHttp = new XMLHttpRequest()
        xHttp.onreadystatechange = function(){
            if(xHttp.readyState == 4 && xHttp.status == 200){
                resolve(xHttp.response)
            }
        }
        xHttp.open("GET",urls)
        xHttp.send()
    })
}

getRequestResult("https://api.apiopen.top/getJoke?page=1&count=2&type=video").then(function(x){
    console.log(x);
})

上面为异步调用访问这个url   下面的内容就自行发挥了

要想取到resolve的值  我发现的方法是

用async  await  取值

async function test(){
    let resulut = await getRequestResult("https://api.apiopen.top/getJoke?page=1&count=2&type=video").then(function(x){
        return x
    })
    console.log(resulut);
}
test()

 

上一篇:Promise静态方法实现(all race finally resolve reject)


下一篇:ES6 语法详解(Promise对象(重点))