ES6中的Promise
/*
Promise
用途:
用来解决异步处理的
本质
把异步的写法变成同步,
实质还是异步的
*/
Promise的常用用法
做过数据请求的肯定知道,ajax分为异步和同步,但是为什么要这样分呢?
/*
单个异步操作
let p = new Promise(function(resolve,reject){
//异步操作
//....此处省略很多行代码
成功了,执行resolve(成功的数据)
失败了,执行reject(错误信息)
})
多个异步操作
Promise.all([p1,p2.....]).then(function(allResult){
全部成功
allResult就是所有你需要的数据是个数组
},function(){
至少有一个失败了
})
封装一个完整版的promise风格的ajax
jQuery3.x版本,$.ajax()返回的结果就是promise对象
异步:
优点:体验好,性能高,不卡页面
缺点:代码书写起来复杂
同步:
优点:代码简单
缺点:体验差,性能低,卡页面
*/
那ES6中的Promise比传统的ajax有哪些优点呢?
/*
一个页面需要请求多次数据
1.传统的ajax
同步,一次一次的来,能把用户气跑
异步,代码过于繁琐,过于复杂。
2.有了promise之后的请求
写代码像同步一样简单,代码的性能和异步一样高。
*/
关于ES6的Promise我能分享给大家大概就是这么多了,
如果上述代码有错误和不足,请评论或私信,我好及时改正。