es6的Promise(承诺)
es6的Promise(承诺)
Promise中的所有回调函数,都是异步执行的
//用来解决异步的一些问题 let p = new Promise(function(resolve,refused){ console.log("abc"); //resolve(); setTimeout(function(){ resolve(); },3000); console.log("123"); }); p.then(function(){ console.log("def"); }); //挂起状态 成功状态 失败状态 setTimeout(function(){ console.log(1); setTimeout(function(){ console.log(2); setTimeout(function(){ console.log(3); setTimeout(function(){ console.log(4); setTimeout(function(){ console.log(6); },5000); },3000); },3000); },2000); },1000); function sleep(times){ return new Promise(function(resolve,refused){ setTimeout(function(){ resolve(); },times); }); } let pr = new Promise(function(resolve,refused){ setTimeout(function(){ resolve(); },1000); }); pr.then(function(){ console.log(1); return sleep(2000); }).then(function(){ console.log(2); return sleep(3000); }).then(function(){ console.log(3); return sleep(4000); }).then(function(){ console.log(4); }); let p3 = new Promise(function(resolve,refused){ resolve(); refused("失败了"); }); p3.then(function(){ console.log("edf"); }).catch(function(e){ console.log(e); });
ES6 对 Promise 有了原生的支持,一个 Promise 是一个等待被异步执行的对象,当它执行完成后,其状态会变成 resolved 或者 rejected。
每一个 Promise 都有一个 .then 方法,这个方法接受两个参数,第一个是处理 resolved 状态的回调,一个是处理 rejected 状态的回调
相关推荐
89500297 2020-05-05
88520191 2020-06-13
Magicsoftware 2020-05-26
nmgxzm00 2020-11-10
xixixi 2020-11-11
88254251 2020-11-01
MarukoMa 2020-09-02
88234852 2020-09-15
陈旭阳 2020-08-31
whynotgonow 2020-08-19
前端开发Kingcean 2020-07-30
whynotgonow 2020-07-29
bowean 2020-07-08
前端开发Kingcean 2020-07-08
88520191 2020-07-05
前端开发Kingcean 2020-06-27
88481456 2020-06-18
whynotgonow 2020-06-16