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);
})

最新文章

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

热门文章

  1. gulp安装报错Local version: Unknown
  2. 火狐浏览器将网页保存为pdf
  3. JS高级---正则表达式其他方法的使用
  4. OpenCV: “vector”: 未声明的标识符和Vector不是模板
  5. C#中常见的winform控件命名规范 转
  6. JUC-线程间通信
  7. Hibernate的理论知识点
  8. 解决ASP.Net第一次访问慢的处理 IIS 7.5
  9. TP5和TP3.2的使用区别
  10. Java Web代码审计流程与漏洞函数