ES6學習---Promise封裝Ajax請求
阿新 • • 發佈:2021-10-10
// 介面地址: https://api.apiopen.top/getJoke // 成功是resolve 失敗是 reject const p = new Promise((resolve, reject) => { //1. 建立物件 const xhr = new XMLHttpRequest(); //2. 初始化 xhr.open("GET", "https://api.apiopen.top/getJ"); //3. 傳送 xhr.send();//4. 繫結事件, 處理響應結果 xhr.onreadystatechange = function () { //判斷 if (xhr.readyState === 4) { //判斷響應狀態碼 200-299 if (xhr.status >= 200 && xhr.status < 300) { //表示成功 resolve(xhr.response); }else { //如果失敗 reject(xhr.status); } } } }) //指定回撥 // 成功執行第一個回撥, 失敗執行第二個回撥 p.then(function(value){ console.log(value); }, function(reason){ console.error(reason); });