promise封装ajax
2024-09-02 20:06:14
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);
})
最新文章
- Ubuntu杂记——Ubuntu下以USB方式连接Android手机调试
- linux 安装 python2.7
- Linux内核Makefile文件(翻译自内核手册)
- Java集合类源码分析
- iOS - 网络 - NSURLSession
- F5中源地址转换(AutoMap)模式下后端服务器获取客户端真正的IP地址
- codevs3008加工生产调度(Johnson算法)
- python sqlite 查询表的字段名 列名
- 如何在Ubuntu 18.04上安装Pip
- Python 爬虫二 requests模块
- 2018.4.24 快排查找第K大
- 3.STM32复位系统
- 【BZOJ1305】【CQOI2009】 dance跳舞
- 五, Authentication和Permissions
- 图片轮滚形式A
- win8.1安装驱动出现“文件的哈希值不在指定的目录”的解决办法[zz]
- CentOS 6.5 yum安装mysql5.6或其他版本【默认yum只能安装mysql 5.1】 by jason
- SQLServer DBA 三十问
- 利用Windows资源监视器解决文件夹无法改名无法删除问题
- CF553C Love Triangles