Как получить значение из обещания JavaScript?

У меня есть объект обещания userBalance со следующими значениями:

> userBalance
Promise {
'100000000000000000',
domain:
 Domain {
   domain: null,
   _events:
    { removeListener: [Function: updateExceptionCapture],
      newListener: [Function: updateExceptionCapture],
      error: [Function: debugDomainError] },
   _eventsCount: 3,
   _maxListeners: undefined,
   members: [] } }

проблема в том, что я не могу получить эти 100000000000000000 от него. есть ли способ сделать это?

1 ответ

Решение

Единственный способ получить значение разрешения для обещания (даже если оно уже разрешено) - это использовать обещание через then или же await:

userBalance.then(value => {
    // ...use `value`; note this will be called asynchronously
});

или в async функция:

const value = await userBalance; // Note this will be asynchronous

В обоих случаях плюс обработка ошибок, если вы не передаете полученное обещание чему-то другому, что будет его обрабатывать.

Другие вопросы по тегам