У меня есть класс с функцией, которая использует обещание (для простоты я использую console.log()
):
class Foo {
constructor() { }
async func(s) {
try {
await console.log(s)
} catch (e) {
console.error(e.message);
}
}
}
module.exports = { Foo };
Когда я вызываю функцию в моем файле main.js
, я хочудождитесь завершения обещания, а затем выполните следующий шаг:
const {
Foo
} = require('./t22_1-async-await-class')
let foo = new Foo()
foo.func("1. Before Promise").then(() => {
console.log("2. Promise")
})
console.log("3. Later...");
Однако я получаю:
1. Before Promise
3. Later...
2. Promise
Я хотел бы выполнить func()
и только затем запустить следующийconsole.log()
.
Я знаю, что могу использовать .then()
и завернуть в него console.log("3. Later...");
.Это очень сбивает с толку, если у меня много кода, который я хотел бы выполнить после этого.
Есть ли другой способ выполнить func()
без использования then()
?
Я ценюваши ответы!