Promise链式 (async和await)-demo
普通方式
var p3 = new Promise((reslove,reject) =>{
setTimeout(()=>{
console.log('三秒过完了');
reslove( '三秒真快!');
},3000);
});
var p5 = new Promise((reslove,reject) => {
setTimeout(()=>{
console.log('五秒过完了');
reslove('哇塞,五秒呐');
},5000);
});
var p10 = new Promise((reslove,reject) => {
setTimeout(()=>{
console.log('十秒过完了');
reslove('哇塞,十秒呐');
},10000);
});
p3.then(res=>{
console.log(res);
return '完事了!';
}).then(r=>{
console.log(r)
}).then(q => {
console.log(q);
});
p5.then(five => {
console.log(five);
});
p10.then(ten => {
console.log(ten);
});
var pAll = Promise.all([p3,p5,p10]);
pAll.then(res => {
console.log(res);
})
var pRace = Promise.race([p3,p5,p10]);
pRace.then(res => {
console.log('race end!!!');
console.log(res);
})
async-await 方式
function getApiFromServer(){
var p = new Promise((res,rej) => {
setTimeout(() => {
res('获取服务器数据成功!');
},2000);
});
return p;
}
async function getData(){
const result = await getApiFromServer();
console.log(result);
};
getData();