前两篇文章给大家介绍了Promise和如何实现一个简单的Promise,那么什么是Async await呢,他们又有什么关系呢
Async/await:是一个用同步思维解决异步问题的方案
和Promise相比较 相同点:
为了解决异步流程问题,promise是约定,而async更优雅
区别:
总结:Async/awati 简单好用,是大势,肯定得学,而async的使用绕不开Promise,所以Promise是必会的。
下面的例子简单介绍一下Async/await 使用方法;
function a() {
return new Promise((resolve, reject) => {
setTimeout(() => { console.log('a执行'); resolve(3) }, 3000)
});
}
function b() {
return new Promise((resolve, reject) => {
setTimeout(() => { console.log('b执行'); resolve(20) }, 2000)
});
}
async function doIt() {
try { // async方法会吞掉所有报错信息,如果此例子中b()返回的是reject,不使用try...catch的话,无法获取到错误信息
const res1 = await a();
const res2 = await b(); // 这样的写法是不是很符合同步思维呢
console.log(res1 + res2);
} catch (err) {
console.log(err)
}
}
// Promise 方法调用
// function doIt() {
// a().then(res1 => {
// return b().then(res2 => {
// console.log(res1 + res2)
// })
// }).catch(err => {
// console.log(err)
// })
// }
doIt(); // a执行 b执行 23
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有