使用promise封裝ajax

直接上代碼:服務器

function Ajax(method, url, data, progress = null) {
  return new Promise(function (resolve, reject) {
    let xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function () {
      if (xhr.readyState === 4) {
        try {//設置了超時時間, 防止因爲該條件(即readystate等於4)成立, 進入該判斷塊, 下面的status讀取不到, 致使拋出錯誤
          if (xhr.status >= 200 || xhr.status < 300 || xhr.status == 304) {
            resolve(xhr.responseText);
          } else {
            reject(new Error(xhr.statusText));
          } 
        } catch (error) {
          reject(new Error('服務器錯誤請重試'));
        }
      }
    }
相關文章
相關標籤/搜索