Я пытаюсь вернуть результат асинхронного вызова синхронно
Это невозможно. Единственное, что синхронно возвращается асинхронной функцией, - это обещание (все асинхронные функции возвращают обещания по своему замыслу). Асинхронные функции упрощают синтаксис для работы с обещаниями, но они все еще асинхронны.
Когда вы используете await
внутри своей асинхронной функции, это задержит время, необходимое для разрешения возвращенного обещания. Это хорошо: если какой-либо код ожидает этого обещания, он будет ждать дольше и, таким образом, будет задерживаться, пока ваша асинхронная функция не будет полностью выполнена. Но ожидание обещания не является автоматическим; вам нужно либо использовать метод обещания .then
, либо использовать ключевое слово await
внутри функции async
.
let resPromise = myTest.get();
resPromise.then(res => console.log(res));
async someFunction() {
const res = await myTest.get();
console.log(res);
}