考虑下面的代码:
// Function which returns a promise and resolves in 2 seconds
const promiseFunction = () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('resolved');
}, 2000);
});
};
// Asynchronous function 1
const asyncFunction1 = async() => {
console.log(await promiseFunction());
console.log(await promiseFunction());
console.log(await promiseFunction());
}
// Asynchronous function 2
const asyncFunction2 = async() => {
let a = promiseFunction();
let b = promiseFunction();
let c = promiseFunction();
console.log(await a);
console.log(await b);
console.log(await c);
}
我正在尝试理解asyncFunction1和asyncFunction2执行之间的行为,当asyncFunction1没有分配给变量时,每个await需要2秒(总共6个),但是当asyncFunction2分配给变量时,它在总共2秒内解决了所有3个promises,这种情况下,分配给变量会发生什么?(我们仍然使用变量进行等待)。