异步函数 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()