用promise封装原生ajax请求

// 简单的ajax原生实现  

  1. var url = 'https://hq.tigerbrokers.com/fundamental/finance_calendar/getType/2017-02-26/2017-06-10';  
  2. var result;  
  3.   
  4. var XHR = new XMLHttpRequest();  
  5. XHR.open('GET', url, true);  
  6. XHR.send();  
  7.   
  8. XHR.onreadystatechange = function() {  
  9.     if (XHR.readyState == 4 && XHR.status == 200) {  
  10.         result = XHR.response;  
  11.         console.log(result);  
  12.     }  
  13. }  
  14.   
  15.   
  16. var url = 'https://hq.tigerbrokers.com/fundamental/finance_calendar/getType/2017-02-26/2017-06-10';  
  17.   
  18. // 封装一个get请求的方法  
  19. function getJSON(url) {  
  20.     return new Promise(function(resolve, reject) {  
  21.         var XHR = new XMLHttpRequest();  
  22.         XHR.open('GET', url, true);  
  23.         XHR.send();  
  24.   
  25.         XHR.onreadystatechange = function() {  
  26.             if (XHR.readyState == 4) {  
  27.                 if (XHR.status == 200) {  
  28.                     try {  
  29.                         var response = JSON.parse(XHR.responseText);  
  30.                         resolve(response);  
  31.                     } catch (e) {  
  32.                         reject(e);  
  33.                     }  
  34.                 } else {  
  35.                     reject(new Error(XHR.statusText));  
  36.                 }  
  37.             }  
  38.         }  
  39.     })  
  40. }  
  41.   
  42. getJSON(url).then(res => console.log(res));  

转载于:https://my.oschina.net/u/3499937/blog/1486299

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值