- promise的作用: 解决异步处理
- 同步:{
3. 异步{
优点:用户体验好,性能高,不卡页面
缺点:代码编写复杂
}
案例:
let nav=$.ajax({url:'js/nav.txt'})
所以,如果我们想要拥有同步的编写方法,而又可以实现异步效果,就需要用到,promise
下面我直接编写一个完整的promise使用方式,就不一点一点的介绍了
//封装promise函数,方便调用 function promiseAjas(url){ //实例化promise resolve :成功的回调 reject: 失败的回调 return new Promise(function(resolve,reject){ //创建ajax核心对象 let xhr=XMLHttpRequest() //链接请求 传入方法 路径 true:异步 false:同步 xhr.open('get',url,true) //发送请求 xhr.send() //接受 xhr.onreadyStateChange=function(){ //判断接受是否成功 304没有更新缓存 if(this.readyState===4){ if(this.status===200&&this.status<300||this.status===304){ resolve(this.responseText) }else{ reject(error) } } } }) //一起加载异步请求 Promise.all([promiseAjax('js/banner.txt'),promiseAjax('js/nav.txt')]).then(function(response){ console.log(response) },function(){}) }