js使用promise封裝ajax


Promise將異步操作以同步操作的流程表達出來,避免了層層嵌套的回調函數

代碼:

function ajaxPromise(url,method,data) {
                var pro = new Promise(function(resolve, reject) {
                    var ajax = new XMLHttpRequest();
                    var method=method||"GET"
                     var data=data ||null
                    ajax.open(method, url);
                    ajax.send(data);
                    ajax.onreadystatechange = function() {
                        if (ajax.readyState == 4 && ajax.status == 200) {
                            resolve(ajax.responseText);
                        }
                    }
                    setTimeout(function() {
                        reject("請求服務器失敗");
                    }, 1000)
                })
                
                return pro;
            }
            var pro = ajaxPromise("./txt/user.json");
            pro.then(function(msg) {
                console.log(JSON.parse(msg));
            }, function(msg) {
                console.log(msg);
            })

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM