Как получить поля пользователя в компоненте темы?

Мы пытаемся создать виджет (“banner-title”), который будет отображать имя пользователя (мы создали поле “first-name” как пользовательское поле).

В виджете мы получаем имя пользователя (user_field) с помощью следующего кода:

let res [];
let currentUser = api.getCurrentUser();
let userfields  = null;
if (currentUser) {
    api.container.lookup('store:main').find('user', currentUser.username).then((user) => {
       userfields =  user.user_fields;
    });

  if(userfields ){
   //some code
   return res;
  }
}

Поскольку метод find() выполняется асинхронно, проблема заключается в том, что каждый раз значение userfields оказывается null. Как получить данные пользовательских полей синхронно, чтобы мы могли получить значение userfields до отрисовки виджета?

Спасибо.

3 лайка