异步:排队,一个窗口 同步:不需要排队,多个窗口
// async 在函数前添加async是一个异步执行的函数, 使用await调用的函数,必须是一个返回promise对象的函数,函数执行完成后,返回的结果就是.then(data)中的参数, async和await仅仅是Promise的一个语法糖,表面上看起来任务像同步执行,本质上还是异步执行,await调用就相当将promise中的所有的代码放入了promise.then()
// 下载任务
function downloadMp3(filename){
return new Promise((resolve, reject)=>{
setTimeout(()=>{
resolve(filename)
}, 3000)
})
}
// 解压任务
function unZipFile(filename){
return new Promise((resolve, reject)=>{
setTimeout(()=>{
resolve(filename)
}, 2000)
})
}
//
…
async function main() {
let data=await downloadMP3(“两只老虎”)
console.log(${data}下载完成
)
let data2=await unZIPFile(“两只老虎”)
console.log(${data2}解压完成
)
}
main()
console.log(“123”)