У меня есть пример кода, но я не могу понять, почему консоль регистрирует вещи не по порядку.
async function myAsyncFunction() {
setTimeout(() => { console.log("1st"); return "something"; }, 500);
}
async function mainline() {
let promise = new Promise((resolve, reject) => {
setTimeout(() => { console.log("0th"); resolve(); }, 500);
});
promise.then(async () => {
return await myAsyncFunction();
})
.then((string) => {
console.log(string);
console.log("2nd");
});
}
mainline();
Журналы консоли:
> 0th
> undefined
> 2nd
> 1st
Так что, очевидно, моя главная линия не ждет разрешения асинхронной функции c. Что я сделал не так?