在Javascript中,为什么我们使用async await而我们有promise.all?我明白,因为承诺链,我们使用异步等待,但我们有承诺。都有! ?真的很困惑,被困在这里了!
async/await使异步代码看起来像顺序代码,因此更具可读性。
下面是一个异步函数的示例,它将异步获得的两个值求和,使用Promise.all:
编写function sum () {
return new Promise((resolve, reject) => {
Promise.all([
Promise.resolve(3),
Promise.resolve(4)
]).then(values => {
resolve(values[0] + values[1]);
})
})
}
现在用async/await写同样的函数:
async function sum () {
const a = await Promise.resolve(3);
const b = await Promise.resolve(4);
return a + b;
}
如你所见,第二个函数可读性更强,也更简洁。