У меня есть два вопроса из следующего примера:
Почему x регистрируется перед y?Почему xa Promise?
Я ожидаю, что bar
будет ждать foo
, чтобы решить со значением 'Hello'
, прежде чем оно регистрируется, а затем возвращает его.
let foo = () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Hello');
}, 2000);
})
}
let bar = async () => {
let y = await foo();
console.log(y);
return y;
}
let x = bar();
console.log(x);
ЧтоЯ ожидаю увидеть
'Hello' // console.log(y)
'Hello' // console.log(x)
Что я получаю
Promise {<pending>} // console.log(x)
'Hello' // console.log(y)
Не следует ли bar
дождаться разрешения foo
, прежде чем вернуть y
?
Любая помощь будет высоко ценится!