async,await,promise.all()应用简单的描述,同步处理异步,await字面意思等待。
首先三个promise,实际应用可以看为axios请求嘛
let runA = function () {
return new Promise((resolve, reject) => {
setTimeout(function () {
console.log("2秒后 runA方法执行完毕")
resolve(new Date())
}, 2000)
})
}
let runB = function () {
return new Promise((resolve, reject) => {
setTimeout(function () {
console.log("4秒后 runB方法执行完毕")
resolve(new Date())
}, 4000)
})
}
let runC = (function () {
return new Promise((resolve, reject) => {
setTimeout(function () {
console.log("6秒后 runC方法执行完毕")
resolve(new Date())
}, 6000)
})
})
async,await
async function awaitText() {
console.log(new Date())
await runA().then(res=>console.log(res))
await runB().then(res=>console.log(res))
await runC().then(res=>console.log(res))
}
awaitText()
返回值
promise.all
Promise.all([runA(),runB(),runC()])
.then(res=>{
console.log(res)
})
总结
promise.all()异步函数并行执行,时间短 总耗时取决于用时最长的异步,从最后一个和第一个相差4秒可以看出
async,await按照顺序执行,时间长 总耗时 2+4+6
注重代码顺序,采用async,await
学习链接:https://www.jianshu.com/p/a6d4f69ef9d3