след. класс:
class Test {
caller() {
this.asyncMethod();
console.log(`hello from caller`);
}
async asyncMethod() {
console.log(`hello from asyncMethod`);
}
}
Вызываю таким образом: new Test().caller();
В итоге метод
asyncMethod
который явл. асинхронным, отрабатывает сразу, и только потом дорабатывает прежний.
Как добиться того, что бы асинхронный метод отработал после?
Делать в асинхронном методе что-то асинхронное :) class Test { caller() { this.asyncMethod(); console.log(`hello from caller`); } async asyncMethod() { await Promise.resolve(); console.log(`hello from asyncMethod`); } }
То есть внутри нужно создать промис?? Просто я думал метка async заставит вернуть Promise не дожидаясь отработки
async действительно заставит вернуть промис, это правда.
Обсуждают сегодня