Я просто пытаюсь понять, как Обещания и Ожидают .
Я хочу решить эту проблему, зарегистрировав 1, 2, 3
в таком порядке. В настоящее время он регистрирует 1, 3, 2
.
Я знаю, что Обещание на самом деле не имеет смысла, но в моей программе есть другие применения, поэтому необходимо остаться.Маршрут от функции Caller
до Test
также должен остаться (при необходимости вы можете изменить их, но просто знайте, что они есть по какой-то причине)
У меня вопрос, как мне ждать Caller
функция для разрешения?
Вот мой код:
function Test() {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log('2');
resolve();
}, 2000);
})
}
function Caller() {
Test();
}
console.log('1');
Caller();
console.log('3');
Я попробовал то, что я понимаю: заставить функцию Caller () ожидать тестовое обещание, но это, конечно, делает функцию Caller () асинхронной, и поэтому мыпо-прежнему получают 1, 3, 2
async function Caller() {
await Test();
}
Может быть, есть какой-нибудь способ использовать await без выполнения асинхронной функции?