【发布时间】:2020-04-30 21:15:13
【问题描述】:
考虑下面的代码,
// 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 每次等待(总共 6 个)需要 2 秒,但 asyncFunction2 当分配给一个变量时,在总共 2 秒内解决所有 3 个承诺,当它被分配时会发生什么 分配给变量? (我们仍然使用 await 和变量)。
【问题讨论】:
标签: javascript async-await es6-promise