首页 > Web开发 > 详细

promise封装ajax

时间:2019-12-13 10:38:39      阅读:84      评论:0      收藏:0      [点我收藏+]

promise的含义(本身不是异步,是封装异步操作的容器,统一异步的标准)

promise对象的特点:对象的状态不受外界影响;一旦状态改变,就不会再变,任何时候都可以得到这个结果。

function aaa() {
        const promise = new Promise(function (resolve, reject) {
            const xmlhttp = new XMLHttpRequest();
            xmlhttp.open("post", "url");
            xmlhttp.setRequestHeader("content-type", "application/x-www-form-urlencoded");
            xmlhttp.onreadystatechange = function () {
                if (this.readyState != 4) {
                    return;
                }
                if (this.status == 200) {
                    resolve(this.response);
                } else {
                    reject(new Error("数据请求失败"))
                }
            }
            xmlhttp.send("");

        })
        return promise;
    }
//then处理数据
let bbb = aaa();
    bbb.then(function (value) {
        var data = JSON.parse(value);
        for (let i of Object.values(data)) {
            var name = i.name_coach;
            document.getElementById("ul").innerHTML += "<li>" + name + "</li>";
        }
    }, function (error) {
        alert(error);
    })

promise封装ajax

原文:https://www.cnblogs.com/yieix/p/12033321.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!