Как вернуть результат промиса в переменную?

Добрый день / вечер, уважаемые знатоки. Столкнулся с проблемой, которую не могу решить, может кто и даст дельный совет (если можно, то опишите механизм работы, пожалуйста).
У меня следующий код:
var p1 = translate('Привет', {from: 'ru', to: lang}).then( function(res) {
    return res.text
});

console.log(p1);

В итоге у меня возвращается Promise { <pending> }. Как мне переписать этот код таким образом, чтобы у меня вернулось значение res.text в переменную p1?
Спасибо...
  • Вопрос задан
  • 9221 просмотр
Решения вопроса 2
SagePtr
@SagePtr
Еда - это святое
Вы пытаетесь использовать результат асинхронной функции в синхронном коде, так нельзя делать (да и невозможно так сделать).
Ответ написан
pxz
@pxz
✔ Совет: Вам помогли? Отметьте ответы решением.
Можете использовать async/await, чтобы избавиться от коллбэков.

В вашем случае код будет выглядеть так:
let result = await translate('Привет', {from: 'ru', to: lang});

console.log(result.text);


https://developer.mozilla.org/ru/docs/Web/JavaScri...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы