利用promise封装ajax,axios过程




封装ajax


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

封装axios 


  
  
  1. function myGet(url, params) {
  2. return new Promise( (resolve, reject) => {
  3. axios.get(url, params).then( function (response) {
  4. resolve(response.data)
  5. })
  6. .catch( function (err) {
  7. reject(err)
  8. })
  9. })
  10. }
  11. myGet(url,params).then( function(data){ console.log(data)}).catch( function(){})




封装ajax

猜你喜欢

转载自blog.csdn.net/keep789/article/details/82494887