promise封装ajax

<script type="text/javascript">
	let ajaxTest = new Promise((resolve,reject) => {
	//创建xhr
	let xhr = new XMLHttpRequest();
	//设置路径
	let httpUrl = "https://api.apiopen.top/getJoke?page=1&count=2&type=video";
	xhr.open('GET',httpUrl)
	//监听
	xhr.onreadystatechange = function() {
		if(xhr.status==200&&xhr.readyState==4){
			//处理获取到的数据
			resolve(xhr);
		}else if(xhr.readyState==4&xhr.status!=200){
			//处理失败的结果
			reject(xhr);
		}
	}
	//发送
	xhr.send();
	})
	console.log(ajaxTest);
</script>

结果:
在这里插入图片描述

<script type="text/javascript">
            let httpUrl = "https://api.apiopen.top/getJoke?page=1&count=2&type=video";
            let ajaxTest = getAjax(httpUrl);
           function getAjax(url){
               return new Promise((resolve,reject) => {
                      //创建xhr
                      let xhr = new XMLHttpRequest();
                      //设置路径
                      let httpUrl = url;
                      xhr.open('GET',httpUrl)
                      //监听
                      xhr.onreadystatechange = function() {
                          if(xhr.status==200&&xhr.readyState==4){
                              //处理获取到的数据
                              resolve(xhr);
                          }else if(xhr.readyState==4&xhr.status!=200){
                              //处理失败的结果
                              reject(xhr);
                          }
                      }
                      //发送
                      xhr.send()
                  })
              }

               console.log(ajaxTest)

                ajaxTest.then((res) => {
                  let result = JSON.parse(res.response);
                  console.log(res);
                  console.log(result);
                }).catch((err) => {
                    console.log(err)
                })

            //fetch原生ajax封装
          /*fetch(httpUrl).then(function (res) {
              console.log(res);
              let result = res.json();
              result.then(function (result) {
                  console.log(result);
              })
          })*/
        </script>
展开阅读全文

Windows版YOLOv4目标检测实战:训练自己的数据集

04-26
©️2020 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值