Promise是ES6语法,Async和Await是ES7语法,并不是说用了Async和Await就不用Promise,而他们是相互的作用。有了Promise才会诞生Async和Await。
最简单的理解就是让他们从异步运行转为同步运行。
简单的运行
function run(){
return 1;
}
function run2(){
return 2
}
function run3(){
return 3;
}
console.log(run());
console.log(run2());
console.log(run3());
function run(){
return 1;
}
function run2(){
setTimeout(() => {
return 2
}, 1000);
}
function run3(){
return 3;
}
console.log(run());
console.log(run2());
console.log(run3());
function run(){
return 1;
}
function run2(){
return new Promise((resolve,reject)=>{
setTimeout(() => {
resolve(2)
}, 3000);
})
}
function run3(){
return 3;
}
console.log(run());
console.log(run2());
console.log(run3());
给加上Async和Await代码:
function run(){
return 1;
}
function run2(){
return new Promise((resolve,reject)=>{
setTimeout(() => {
resolve(2)
}, 3000);
})
}
function run3(){
return 3;
}
async function go(){
console.log(run());
console.log(await run2());
console.log(run3());
}
go()